FE-1573: Inventory worked-model capability and provenance - #9667
Draft
lunelson wants to merge 51 commits into
Draft
FE-1573: Inventory worked-model capability and provenance#9667lunelson wants to merge 51 commits into
lunelson wants to merge 51 commits into
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
1 Skipped Deployment
|
5 tasks
lunelson
force-pushed
the
ln/fe-1573-mission-7c
branch
from
September 11, 2026 11:26
c1dac74 to
825b62c
Compare
lunelson
force-pushed
the
ln/fe-1573-mission-7c
branch
from
September 11, 2026 11:34
3732528 to
449c1a4
Compare
lunelson
force-pushed
the
ln/fe-1573-mission-7c
branch
from
September 11, 2026 13:00
abbc0d3 to
ad7a03e
Compare
lunelson
force-pushed
the
ln/fe-1573-mission-7c
branch
from
September 11, 2026 13:25
ad7a03e to
797ef20
Compare
Load versioned fixture JSON automatically from the app build, validate bundle identity, evidence-manifest hash, canonical Flue session, non-empty workpiece and SDCPN definition before seeding, and reject changed bytes under an unchanged fixture version. Leave the registry empty until a reviewed persona bundle exists.
Route /api/worked-models through the built Brunch application beside the existing agent endpoint so bundle tests exercise the real HTTP boundary rather than treating API requests as static files.
Use the team's established compiler-clean Inventory net with local Pi-harness persona development, retaining existing scenario/metric content without making behavioral or editing claims. Settle one model-facing current-revision explanation operation with app-owned reconciliation, plugin-owned SDCPN interpretation and workpiece-owned passage reads. Record supported Flue session forking as the remaining seeded-copy mechanism question.
Retain the team's exact compiler-clean Inventory SDCPN as the flagship case source and add a Pi-persona situation pack synthesized from the supplied draft, with dataset facts, declared assumptions and authored persona behavior kept explicitly distinct. Pin the reference hash, shape and clean diagnostics in the portfolio guard.
Add an optional initial-net input to the local persona launcher, validate and hash the supplied SDCPN, preload it into the ordinary browser product session, and retain its source identity in the run record so Inventory work can begin from the established team reference rather than an empty tracer.
Drive the built Brunch app and Petrinaut website from ?bundle= through one model-originated mutation, server-side definition persistence, same-copy reload with retained Flue history, clean-copy reset from the immutable seed, and a second principal's isolated sibling. Keep the faux-provider witness explicitly mechanical rather than persona evidence.
Keep the exact team-supplied Markdown conversion as the durable primary source for Inventory persona development, record its content hash, and retain the original DOCX as the source for sections omitted by the conversion.
Record every ordinary browser-bound tool with its definition owner, execution owner and role, reconcile the living topology with batched construction, freshness, explanation and worked-model routes, and fail native provider carriage on duplicate, missing, extra or reordered tool names.
Rename the normative workpiece operations to read_workpiece and mutate_workpiece, require the mutation boundary to record its verified delta, and retain legacy names only for historical reads. Record query_workpiece's unsettled target identity and the unproven autonomous reliability of the Voice question marker before changing either mechanism.
Mount read_workpiece and mutate_workpiece without ownership prefixes, migrate active prompts, scripts, tests and the checked tool catalogue, and continue to recognize legacy update_workpiece settlements in retained histories. Every mutation now reports the actual base and next hashes plus the minimal removed and inserted UTF-16 windows, and the Workpiece pane makes that replacement summary visible.
Accept Petrinaut element IDs through a plugin-contributed selector, resolve them to existing per-operation mutation-attempt tool-call IDs, and let generic workpiece code map those target revisions to workpiece passages and session turns. Keep the exact read_petrinaut/mutate_petrinaut family grouping and any plugin package rename behind the topology decision.
Expose a current document revision ID on handles, retain IDs and canonical patches in history entries, and report previous/current revisions on direct changes, undo, redo and history navigation. Persisted hosts can supply the initial revision ID on reopen, allowing Brunch to distinguish direct edits from its own mutation attempts without inventing a parallel revision stream.
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #9667 +/- ##
===========================================
- Coverage 65.90% 15.35% -50.55%
===========================================
Files 1887 210 -1677
Lines 198443 6677 -191766
Branches 8248 1154 -7094
===========================================
- Hits 130774 1025 -129749
+ Misses 66139 5551 -60588
+ Partials 1530 101 -1429 Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
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.
Purpose
Mission 7c makes Brunch the default Petrinaut assistant inside the operational-process x SDCPN boundary and advances the Inventory worked-model/provenance path without closing FE-1478. A product manager should be able to open an owned Inventory purchasing copy, inspect the retained workpiece and SDCPN, ask where consequential content came from, correct the model in ordinary language, see version-correlated compiler feedback and layout, reopen the same copy, and create a clean copy without changing the template or siblings.
The canonical mission contract is
libs/@hashintel/brunch-agent/MISSION.md. The branch is now rebased ontomain; the FE-1653 freshness parent merged as #9672, soSIDE_QUEST.mdhas been removed and freshness is ordinary inherited code.Current status
Done on this branch:
mutate_petrinetcarrier and aligned schema/plugin/website host executor coverage for 22 admitted add/edit/remove shapes.applyAutoLayoutas a separate browser command with pre/post hashes and position-only effects.net-ledger.tsretained only as a candidate shared projection.getLatestNetDefinitionthenbrunch_why, with the larger why concept still under owner review.MISSION.mdis normative only; implementation chronology stays in this PR.Not done yet:
?bundle=inventory-purchasingtemplate/candidate/owned-copy path.Next route
?bundle=route, one mutation, same-copy reopen, and template/sibling isolation.Related links
Verification so far
Representative checks run across the branch include package unit/integration tests for Brunch, Petrinaut website, plugin SDCPN and Petrinaut core; compiler-feedback and mutation-record integrations; browser/live checks for assistant switching and why routing; and formatting/link checks for the mission docs. The final acceptance gates above are not claimed yet.
Pre-merge checklist