FE-1480: Project and realize a CPS model as a Petrinaut SDCPN - #9313
FE-1480: Project and realize a CPS model as a Petrinaut SDCPN#9313lunelson wants to merge 5 commits into
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
1 Skipped Deployment
|
|
Warning This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
This stack of pull requests is managed by Graphite. Learn more about stacking. |
PR SummaryLow Risk Overview ADR-0003 and ADR-0004 are cross-linked without topology change; the elicitation-kernel, IR, and plugin-contract specs, CONTEXT glossary, INDEX, and SPEC-LEDGER are aligned to that split. STEERING and STRATEGY-LOG (S-004–S-006) reprioritize a design-convergence queue (FE-1407 → FE-1402/1403 → FE-1404 → FE-1406 → FE-1431) ahead of SDK, projection, and FE-1480 realization; FE-1438 remains the gate for executable realization proof. Agent protocols in legibility and steering add independent review-before-commit and ordered-frontier dispatch rules. No runtime or projection implementation in this PR. Reviewed by Cursor Bugbot for commit ec6cdec. Bugbot is set up for automated code reviews on this repo. Configure here. |
b052dda to
d6ecb22
Compare
44a5e1d to
4fcb281
Compare
|
Status note (2026-08-25): the design-convergence queue and the three hard prerequisite joins described in the agent notes here (FE-1407 → FE-1404 → FE-1406 → FE-1431) were superseded by strategy entry S-007 and ADR-0006 in #9322, further up this stack. The blockers were removed in Linear; the record above is kept as authored. |
Record deterministic scaffolds and typed code obligations as the pure projection output, with executable TypeScript realized downstream through Petrinaut client tools. Reconcile Brunch steering, specs, glossary, and ADR history while leaving FE-1480 implementation priority open. Amp-Thread-ID: https://ampcode.com/threads/T-01a03444-b6bb-77de-b8ff-52509ae2d746 Co-authored-by: Amp <amp@ampcode.com>
Record ADR-0005's deterministic scaffold and code-obligation boundary while keeping projection and artifact realization honestly pending. Amp-Thread-ID: https://ampcode.com/threads/T-01a03444-b6bb-77de-b8ff-52509ae2d746 Co-authored-by: Amp <amp@ampcode.com>
Prioritize an evidence-backed non-HITL issue sequence before runtime implementation, then order the reviewer and semantic build paths. Record the proof bundle, build-readiness gates, and corrected Gherkin-before-CPS sequencing. Amp-Thread-ID: https://ampcode.com/threads/T-01a03444-b6bb-77de-b8ff-52509ae2d746 Co-authored-by: Amp <amp@ampcode.com>
Record the approved Linear blocker joins and distinguish FE-1431 design closure from later plugin ratification. Keep the remaining issue order strategic rather than turning the whole queue into a dependency graph. Amp-Thread-ID: https://ampcode.com/threads/T-01a03444-b6bb-77de-b8ff-52509ae2d746 Co-authored-by: Amp <amp@ampcode.com>
Treat ordered proof frontiers as epistemic strategies whose results reshape successor briefs. Require a fixed pre-commit review packet, independent legibility review, closed findings, and renewed review after remediation before the orchestrator authorizes commit.
4fcb281 to
ec6cdec
Compare
d6ecb22 to
4d33efc
Compare

🌟 What is the purpose of this PR?
A cyber-physical system (CPS) model can say what stochastic and dynamic Petrinaut net code must express, but it cannot choose a TypeScript implementation. This pull request records that split as an accepted decision: pure projection stops at a deterministic scaffold and typed code obligations; executable TypeScript is realized later through Petrinaut's client tools. It also records which design issues to settle next from existing baseline evidence, before runtime implementation resumes. Projection and realization code remain later work.
🔗 Related links
libs/@hashintel/brunch-agent/docs/adr/0005-model-assisted-sdcpn-realization.mdlibs/@hashintel/brunch-agent/docs/control/STEERING.md🚫 Blocked by
FE-1438 blocks a later production proof of executable realization, not this decision record.
🔍 What does this change?
ADR-0005 amends the three-register claim in ADR-0003 and extends ADR-0004's artifact contract without changing application/library topology. The plugin's pure
projectstep must emit a versioned stochastic dynamically colored Petri net (SDCPN) scaffold, a sidecar of field-addressed code obligations, and a typed loss report. Generated TypeScript is derived artifact state at the application meeting point; it is not a capture, a fourth register, or a plugin operation. Steering and the specification suite are reconciled to that boundary, and the selected next work is a design-convergence queue that can run from existing transcripts and literature.🏗️ Agent notes
Stacked as
ln/fe-1494-strategic-controls→ln/fe-1495-typescript-contracts→ this branch.Commits
db3bf21054Define SDCPN artifact realization boundaryd3feeaa596Reconcile the projection obligation ledgere070ee89f9Select the Brunch design convergence queue44a5e1df95Encode the design convergence prerequisitesADR-0005 outputs of
project(elicitedModel)Comments are readable context only. Realization must consume the sidecar. FE-1438 remains the hard blocker for the executable production proof because client tools must return field-addressed compiler diagnostics. Scaffold and obligation design do not require that round trip.
Selected design-convergence order
Recorded in
docs/control/STEERING.mdandSTRATEGY-LOG.md. Linear owns the three hard prerequisite joins: FE-1407 blocks FE-1404, FE-1404 blocks FE-1406, and FE-1406 blocks FE-1431. Remaining arrows are strategic order, not additional Linear blockers.Resolving the authority boundary does not select FE-1480 implementation as the next build. During design convergence, do not implement SDK, client tools, projection, provider routing, or deployment.
Spec and glossary
CONTEXT.mdadds artifact boundary, code obligation, and artifact realization. Specs underdocs/specs/andSPEC-LEDGER.mddistinguish deterministic scaffold/obligation output from pending projection and realization work.Pre-Merge Checklist 🚀
🚢 Has this modified a publishable library?
This PR:
Documentation and glossary only.
📜 Does this require a change to the docs?
The changes in this PR:
ADR-0005, steering, specs, ledger, index, and glossary. No Petrinaut user-guide pages.
🕸️ Does this require a change to the Turbo Graph?
The changes in this PR:
This branch does not implement
project, obligation fulfillment, or Petrinaut compilation. FE-1438 still blocks an executable production proof of realization. Implementation priority versus the under-built elicitor remains a steering choice, not a consequence of landing this decision.🐾 Next steps
STEERING.md(FE-1407 → FE-1402 / FE-1403 → FE-1404 → FE-1406 → FE-1431).🛡 What tests cover this?
No new executable tests. Existing architecture documentation-index coverage should still pass after the
INDEX.mdand ADR additions. Review is the check for ADR-0005, steering, and spec consistency.❓ How to test this?
Read
libs/@hashintel/brunch-agent/docs/adr/0005-model-assisted-sdcpn-realization.mdand confirm it matches the FE-1480 issue's accepted boundary.Read
libs/@hashintel/brunch-agent/docs/control/STEERING.mdand confirm design convergence is the selected next work, with FE-1480 realization later.Run:
📹 Demo
Not applicable — decision and steering records only.