feat(harness): migrate graphs to package inventory [SAP-2955] - #750
Conversation
Define the identity-and-location-only package inventory contract and migrate the V0 workspace graph through revision-atomic inventory, navigation, and lifecycle boundaries.\n\nRetain settled-identity caching, pending-collision protection, superseded enrichment, and resolver backoff without shipping opaque relationship signals.\n\nRefs: SAP-2955\n\nCo-authored-by: G. David Witwer <gdavid.witwer@gmail.com>
Keep the newest usable partial projection and its revision-matched navigation visible while the next graph build runs. Exact-revision stale sidecars remain interactive unless a newer invalidation has arrived. Refs: SAP-2955
Use location-backed keys when unsettled agents share a marker, keep the newest usable projection through refresh failures, and pin revision-matched stale navigation and groups in the browser. Refs: SAP-2955
b07931e to
bc58b35
Compare
Review — PR #750 (round 1)Public-copy hygiene is clean: both changesets, the 1.
|
Summary
Replaces #731 with a clean SAP-2955 implementation on current
main.main's right-pane, group-aware Project mapPackage inventory intentionally carries no opaque
staticSignalsfield. Package-wide data-flow and cross-agent relationship evidence are out of scope here and will use a separately versioned contract with deterministic provenance.Integration notes
mainatbf380c3invokesedges are unchangedVerification
@sapiom/agent: 10 suites / 175 tests; typecheck, lint, CJS build, and ESM build@sapiom/harness: 168 unit files / 2,758 tests with sandbox capabilities dropped for normal permission semantics; typecheck, lint, and production buildmainrebase: 10 files / 142 tests9a8d8e8pnpm changeset status --since=origin/maingit diff --checkstaticSignals,PackageInventoryStaticSignals, orPackageInventoryJsonValueIndependent review
Two Claude Opus review rounds inspected the complete diff. Round one found two lifecycle regressions; both were fixed with regression coverage. Round two confirmed those fixes and the deliberate fingerprint/canonical-identity decisions, found the shared-unsettled-marker identity defect and dead state that were then fixed, withdrew its Zod concern after checking current
main, and reported no blockers in its follow-up reviews of both the amended identity logic and final viewport hardening at9a8d8e8.Linear: SAP-2955