Repository navigation
Conversation
…entity resolution
The janitor ownership test arrived from main still seeding its graph with MultiIndexer.IndexAll, which this branch keeps only as an indexer test fixture, so the cmd/gortex test build no longer compiled after the merge. Register the configured repository with TrackRepoCtx instead, the same production path the other daemon fixtures already use. The test asserts janitor and shared-stack lifetime, not batch resolution, so per-repository registration covers what it needs.
Startup loading is covered by unit and integration tests only. Nothing records what an agent actually receives while a daemon starts: before its socket exists (including a first boot that runs a schema migration), while configured repositories load, and once they are ready, on a cold start and on warm restarts. The opt-in startup scenario starts probing before the first daemon start. Every second, from the primary, a linked worktree and a directory a servers.toml roster claims, it opens fresh sessions and records the initialize instructions variant, search_symbols, the index-health resource and workspace(operation:"index"); asks the PreToolUse hook about a native Read; and runs `gortex call search_symbols` through a pipe and a pty until each first succeeds in that boot. Every answer keeps error_code, retryable, phase, percent, latency, exit code and whether a refusal advises tracking or reconciling. A watcher stamps socket, readiness and enrichment, and reads the checkout coordinator count for 2 s after the primary registers. --seed-store copies an existing store into the private run so the initial boot is an upgrade; --restarts adds warm restarts. The gate counts answers per surface, directory and window and reports time to ready and time to first success per boot, so `delta` can compare startup between builds. The scenario lives in new files; the shared harness files gain only its registration, and the fixture daemon answers the CLI and hook probes so the whole scenario runs end to end in tests.
Owner
Author
|
Superseded by #1162, which now contains the exact probe commit ac0447a in its published ancestry. The combined integration passed focused race and prescribed pinned checks before publication; fresh exact-head CI runs on #1162. The original probe branch and its evidence remain preserved. Startup runtime and performance acceptance remain open in #1023. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds a
startupscenario to thebench/loadharness. It records what agents actually receive while a daemon starts: from before its socket exists (including a first boot that runs a schema upgrade), through loading, to ready, on an initial boot and on warm restarts. It produces the runtime evidence #1023 asks for. Its time-to-ready and time-to-first-success figures can be compared between builds withdelta.Includes PR #1162. This branch was cut from #1162's refreshed head (252b9d2), so it contains all of #1162's commits. Only the last commit (ac0447a,
feat(bench): probe startup admission from before the socket exists) is new here. #1162 must land first; after that, this PR's diff is that one commit. The commit touchesbench/loadonly, andbench/loadon main is the same as on #1162's head, so it also applies to main on its own.Draft status: the probe is written, but none of its checks have run yet (see "Testing").
What it does
--scenario startupis opt-in and never part ofall. It configures every manifest repository and adds--worktreeslinked checkouts of the first one.--seed-storecopies an existing store into the private run first, read-only from its source, so the initial boot runs its migration before the socket listens.--restarts Nadds N warm restarts..gortex.yamlnames a workspace claimed by a privateservers.tomlroster. From each, it opens fresh sessions and records:initialize(which instructions variant was served),search_symbolsandresources/read gortex://index-healthon the legacy surface;workspace(operation:"index")on the compact surface.gortex call search_symbolsthrough a pipe and through a pty, each until its first success in that boot.error_code,retryable, phase, percent, latency, exit code, and whether a refusal advisesgortex trackorgortex repos reconcile. Negated guidance is ignored.daemon status.startup-probe.jsonl;startup_probegate that counts answers per surface, directory and window (no socket, loading, ready), plus per-boot timings;delta, such asstartup_repo_not_tracked_before_ready,startup_nonconforming_loading_refusals,startup_restart_time_to_ready_p95_ms,startup_initial_time_to_ready_msandstartup_coordinators_within_2s_min. Restart figures are reported unavailable unless every restart produced them.The scenario lives in new
startup_probe*.gofiles. The shared harness files gain only its registration, a few lines each. The fixture daemon now answers the CLI and hook probes, so the whole scenario runs end to end in tests.Testing
The tests are written but have not been run: the local check run (gofmt,
go veton three platforms, focused race tests, an end-to-end test run three times, pinned lint) was interrupted before it started. CI on this PR is their first run. The written tests cover:Not done
bench/load/run.goconflicts, and every conflict keeps both sides' additions.Refs #1023