Repository navigation
S2 Rust port gap close: project.brief, place.metrics, parity + dump (WI-1067) - #1078
Merged
Merged
Conversation
Both services already existed (application/projects.rs brief_op and application/place.rs place_metrics_op) but had no arm in the registry's service table, so the operations answered not_ported. Add the two arms, point the not-ported registry test at forge.link, which is still unported, and assert the two arms stay wired. Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com> Signed-off-by: sprooty <sprooty@sprooty.com>
…n (WI-1067) project.brief took its open-work, bug, declared and observed counts and its top backlog from a gather that was not ported, so it said not_collected for all of them, and it echoed two request fields Python does not return. It now runs the same backlog gather `backlog` ranks, takes the counts and the top rows from it, and drops the two echoed fields. place.metrics left the inbox and backlog badges null. The inbox badge is now the active count and the count under the saved filter, read the way inbox.list reads its entries; the backlog badge is the candidate total of `backlog` with limit 1. The reads run in Python's order, so generated_at matches the reference clock. The CLI test that needed an unported operation now uses decision.list, since place.metrics is ported. Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com> Signed-off-by: sprooty <sprooty@sprooty.com>
…s (WI-1067) Adds parity steps for the three read surfaces S2 left unchecked. project.brief uses slug, the name the CLI takes. deployed.versions maps to the deployed-versions command word. place.metrics takes no params. The three list steps (workflow.list, label.list, project.list) already carry an empty params object, so the MCP driver keeps them and records them. The golden is recorded from the Python reference against the same main (21c95f6) and named 21c95f6-s2, as the S9 steps were named 21c95f6-s9. Rust agrees with it on cli, http and mcp. Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com> Signed-off-by: sprooty <sprooty@sprooty.com>
…ary (WI-1067) The stored agent_policy was written with sorted keys and spaced separators, and AgentPolicy declared its fields alphabetically. Python stores model_dump_json(): compact, in declaration order. Reorder the fields to Python's declaration order and write the compact form. project.updated's audit summary also left out agent_policy, which Python records alongside slug, exclusions and repo_url. Found by a parity dump after the project steps, which now compares these tables. Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com> Signed-off-by: sprooty <sprooty@sprooty.com>
A step with "dump": true makes the CLI runner record the declared and observed tables at that point, so a later step cannot hide a change to a table an earlier one wrote. The audit payload digest of a project's row covers its root path, which names the run's temporary root, so the dump blanks that one digest; the rest of the row still compares verbatim. `--only dump` now runs the whole script, because a dump only shows what the steps before it wrote, and it compares only the dump records. Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com> Signed-off-by: sprooty <sprooty@sprooty.com>
…bel dump (WI-1067) The S2 read steps (project.brief, place.metrics, deployed.versions) and a dump after the project and label steps are added to script.json. The golden is re-recorded from the Python reference under its main sha, 21c95f6, and the 21c95f6-s2 sibling is removed, so CI's check against 21c95f6 covers the whole script. The re-recording also adds the S9 steps, which were already in script.json but had not been recorded into 21c95f6. The 87 steps that were recorded there are unchanged. Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com> Signed-off-by: sprooty <sprooty@sprooty.com>
…(WI-1067) decision.* is ported now (WI-1069), so `decision list` no longer hits the not-ported handler this test relies on. engine.status is still unported and takes no arguments. Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com> Signed-off-by: sprooty <sprooty@sprooty.com>
…e (WI-1067) Recorded from the Python reference at main 21c95f6, on top of origin/rust-core cf2d3ca. It now includes the WI-1067 project, label, place and deployed steps and the WI-1069 decision, preference and inbox steps. Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com> Signed-off-by: sprooty <sprooty@sprooty.com>
…WI-1067) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: sprooty <sprooty@sprooty.com>
…rted on rust-core (WI-1067) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: sprooty <sprooty@sprooty.com>
thedancingdeveloper
force-pushed
the
wi-1067-s2-gap-close
branch
from
October 17, 2026 08:28
30f38d6 to
2ce2234
Compare
thedancingdeveloper
pushed a commit
that referenced
this pull request
Oct 17, 2026
…WI-1751) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: sprooty <sprooty@sprooty.com>
thedancingdeveloper
pushed a commit
that referenced
this pull request
Oct 17, 2026
…WI-1751) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: sprooty <sprooty@sprooty.com>
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.
WI-1067 S2 gap close, rebased on rust-core cf2d3ca (head 30f38d6).
Reviewed at 30f38d6: cargo clippy -D warnings clean; cargo test -p vogt-core 865+4+3 pass; CI parity sequence (Python record/determinism, python cli/http, rust http, rust dump, actor, selftest, gen_registry --check, validator corpus --check) all pass against tests/parity/golden/21c95f6; rust cli 114 and mcp 113 steps agree. cargo fmt --check flags only openapi.rs, which this branch does not touch (pre-existing on rust-core).
Not covered: deployed topology (vogt-dev/prod); all checks are in-process/local.
🤖 Generated with Claude Code