FE-1745: Let Brunch draft Ledger-derived experiments - #9762
Draft
kostandinang wants to merge 43 commits into
Draft
kostandinang wants to merge 43 commits into
kostandinang wants to merge 43 commits into
Conversation
Consolidate the experiment-configuration planning that was spread across the Mission 7d archive, the future spine and the Mission 11 draft into one draft, `docs/mission-drafts/8-experiment-configuration-from-the-ledger.md`, taking the freed Mission 8 number. The draft records the Petrinaut experiment terrain as read at HEAD, the Ledger-condition to experiment-destination correspondence table, the design assessment (Brunch drafts a session proposal prepared by Petrinaut's own `prepareExperiment`, the user presses Run; a thin document-entity design stays an upstream option), the upstream delta list for Petrinaut, the Brunch-side prerequisite of scenario and metric operations in `mutate_petrinaut_net`, and an implementer's entry for the handoff. Point the spine and the Mission 9, 10 and 11 drafts at the new home, rename the spine's deployment follow-on heading to "Hosted deployment successor" now that the Mission 8 number is reused, and record the read-only dev/prod persistence audit (SQLite locally, Postgres deployed) in the spine and the worked-example draft. Amp-Thread-ID: https://ampcode.com/threads/T-01a0aab3-72bb-71dc-8a77-a984b3617b9c Co-authored-by: Amp <amp@ampcode.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
3 Skipped Deployments
|
|
|
Co-authored-by: Kostandin Angjellari <ka@hash.ai>
Co-authored-by: Kostandin Angjellari <ka@hash.ai>
Co-authored-by: Kostandin Angjellari <ka@hash.ai>
Co-authored-by: Kostandin Angjellari <ka@hash.ai>
Co-authored-by: Kostandin Angjellari <ka@hash.ai>
Co-authored-by: Kostandin Angjellari <ka@hash.ai>
Co-authored-by: Kostandin Angjellari <ka@hash.ai>
Co-authored-by: Kostandin Angjellari <ka@hash.ai>
Co-authored-by: Kostandin Angjellari <ka@hash.ai>
kostandinang
force-pushed
the
kostandin/fe-1745-ledger-derived-experiment
branch
from
September 16, 2026 21:25
9d831dd to
9ba7047
Compare
Block unsupported restrictions by default, bind confirmation to the reviewed model, and preserve draft lifecycle across remounts without sharing it across editors. Correct reporting and budget disclosures, repair Ledger-preserving integration fixtures, and address formatting and lint failures. Co-authored-by: Kostandin Angjellari <ka@hash.ai>
kostandinang
force-pushed
the
kostandin/fe-1745-ledger-derived-experiment
branch
from
September 16, 2026 21:29
a017168 to
c5a53bb
Compare
…nto cursor/resolve-fe-1745-pr-conflicts Co-authored-by: Cursor <cursoragent@cursor.com> # Conflicts: # apps/brunch-agent/test/integration/workpiece-revisions.integration.ts # apps/petrinaut-website/src/main/app/local-storage-demo/live-pending-tool.integration.test.ts # libs/@hashintel/brunch-agent/MISSION.md
Co-authored-by: Cursor <cursoragent@cursor.com>
…nto cursor/resolve-fe-1745-pr-conflicts Co-authored-by: Cursor <cursoragent@cursor.com> # Conflicts: # libs/@hashintel/brunch-agent/MISSION.md
Co-authored-by: Cursor <cursoragent@cursor.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.
🌟 What is the purpose of this PR?
Mission 8 (FE-1745) makes experiment drafting part of normal Brunch modelling. Using the settled Ledger and current Petrinaut model—not keywords such as “experiment” or “optimize”—Brunch detects when an operational decision is testable, drafts an experiment, and displays it as Drafted — not run. The experiment starts only when the user presses Run, then follows Petrinaut’s existing
runExperimentpath, including records, progress, the “N active” indicator, and Simulate → Experiments.When complete, this PR establishes:
It does not claim constraint enforcement, proposal persistence, experiment credibility, or consumer handoff (Mission 11). The first demo is intentionally constraint-free and says so.
The branch authority is
libs/@hashintel/brunch-agent/MISSION.md. Lu’s Mission 8 draft is the planning record from which this cut was taken and remains the home for deferred work.Proactive trigger behaviour
Readiness requires both Ledger meaning and model executability.
The Ledger must state the decision, objective and direction, tunable quantity with a user-provided range and unit, operating regime, and horizon. The model must contain the corresponding saved scenario, an integer- or real-typed scenario parameter, and a saved objective metric.
Model structure alone never triggers a proposal or supplies its objective. Brunch never invents bounds, units, or thresholds. It proposes once when readiness is first reached or the meaningful configuration changes; declined or completed proposals are not repeated unchanged.
When prerequisites are missing, Brunch constructs supported scenarios and metrics through new
mutate_petrinaut_netoperations or asks the smallest focused question. Restrictions that the current request cannot carry are recorded underunsupportedand disclosed before Run is offered; optional observed metrics are labelled reported, not enforced. A load-bearing hard restriction blocks Run rather than being silently dropped.Demo flow (support-desk staffing)
activeAgentsparameter, and a saved average-waiting-time metric.Ownership and dependencies
prepareExperimentexport from@hashintel/petrinaut/reactor aPetrinautExperimentHostmethod. This branch provisionally uses the named export with a patch changeset and will switch if Chris prefers the host method. The existing experiment card, drawer, indicator, and results UI remain unchanged.🔗 Related links
🚫 Blocked by
ln/fe-1573-mission-7e-expressuntil FE-1573: Protect long Brunch interviews from abrupt Ledger loss and stalled responses #9761 merges; Lu owns the resultingMISSION.mdlifecycle decision.🔍 What does this change?
MISSION.md, including Status, Imperative, Throughline, Proof, Constraints, Fog-line, Stop, and Deferred.prepareExperimentfrom@hashintel/petrinaut/reactwith a patch changeset.🏗️ Agent notes
Delivery proceeds in work packages, each with an oracle defined in
MISSION.md:mutate-petrinet.ts,mutation-record.ts, and the website executor, with per-operation tests and a loopback case.draft_petrinaut_experimentwith{ experiment, declarations, basis, unsupported }, wire it through the Brunch and website catalogues, and cover it with schema fixtures andyarn test:native-schema.experimentHost.runExperiment. Oracles cover no execution, replacement, user-started execution, and stale proposals.evaluations/cases/support-desk-staffing/and record one agent-browser run.At the branch point,
prepareExperimentwas private torun-experiment.ts. None of Chris’s open PRs (#9664, #9723, #9724, #9725, #9728, #9729) touched that file, the requiredreact/index.tsexport, Petrinaut’s experiment schemas, or the relevant Brunch integration files.Pre-Merge Checklist 🚀
🚢 Has this modified a publishable library?
This PR:
📜 Does this require a change to the docs?
The changes in this PR:
ai-assistant.mdif WP-D makes the Brunch panel behaviour user-facing🕸️ Does this require a change to the Turbo Graph?
The changes in this PR:
PetrinautExperimentRequestdoes not carry constraints or a constraint policy;prepareExperimentcurrently suppliesconstraints: []andconstraintPolicy: null. This PR does not change that. Restrictions are reported asunsupported, never as enforced.🐾 Next steps
🛡 What tests cover this?
@hashintel/petrinauttypecheck with the new export (turbo run lint:tsc --filter @hashintel/petrinaut; 8/8 tasks successful).MISSION.md→ Proof obligations.❓ How to test this?
yarn install.npx turbo run lint:tsc --filter @hashintel/petrinaut.import { prepareExperiment } from "@hashintel/petrinaut/react"resolves.libs/@hashintel/brunch-agent/MISSION.mdfor the live contract.📹 Demo
Loom