Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .github/actions/prune-repository/prune.py
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,7 @@
"libs/@hashintel/brunch-agent/AGENTS.md",
"libs/@hashintel/brunch-agent/CONTEXT.md",
"libs/@hashintel/brunch-agent/docs",
"libs/@hashintel/brunch-agent/evaluations",
Comment thread
cursor[bot] marked this conversation as resolved.
"libs/@hashintel/brunch-agent/scripts",
],
}
Expand Down
2 changes: 1 addition & 1 deletion .markdownlint-cli2.jsonc
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,6 @@
"**/.cursor/plans/**",
"libs/@hashintel/ds-components/**",
"libs/@hashintel/ds-helpers/**",
"libs/@hashintel/brunch-agent/docs/**"
"libs/@hashintel/brunch-agent/**/*.md"
]
}
38 changes: 17 additions & 21 deletions libs/@hashintel/brunch-agent/AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ guidance always wins where it conflicts with this file.
- `packages/transport-*`: wire transports; none may depend on a binding.
- `packages/plugin-*`: target plugins; each depends only on the harness.
- `../../../apps/brunch-agent`: remote server, application composition, and local diagnostics.
- `evaluations`: cases, protocols, and oracles; see `evaluations/AGENTS.md` before changing them.

The context root is not a package-manager root. Do not add a `package.json`, lockfile, nested
workspace configuration, or standalone CI here. Run package tasks through HASH's root Yarn/Turbo
Expand All @@ -25,24 +26,19 @@ workspace.

- Use Graphite (`gt`) for stack operations; do not use `gh stack` in HASH.
- Issues live in Linear team `FE`, project `brunch-agent`.
- Keep the human-owned issue contract separate from collapsed `πŸ—οΈ Agent notes`; see
`docs/agents/issue-writing.md`.
- Maintain the glossary in `CONTEXT.md` and context decisions in `docs/adr/`; see
`docs/agents/domain.md`.
- Keep `docs/INDEX.md` complete and follow `docs/agents/documentation.md`.
- Before closing a Brunch work arc, run the context-local `arc-close` skill and its canonical
procedure in `docs/agents/arc-close.md`.
- At design moments involving Flue, follow `docs/agents/flue-routing.md`.

The complete protocol set is:

- `docs/agents/arc-close.md`
- `docs/agents/documentation.md`
- `docs/agents/domain.md`
- `docs/agents/flue-routing.md`
- `docs/agents/git-workflow.md`
- `docs/agents/issue-tracker.md`
- `docs/agents/issue-writing.md`
- `docs/agents/legibility.md`
- `docs/agents/posture.md`
- `docs/agents/triage-labels.md`
- Brunch Markdown is created and maintained by agents; exclude it from `oxfmt` and `markdownlint`.

Route by trigger; load only the applicable compact protocol:

- Start or resume without a proof target, or when objectives, pressure, proof, authority, external
gates, frontier value, or arc-close findings change: `docs/agents/steering.md`.
- Create, mutate, triage, or structure issues: `docs/agents/issue-tracker.md`,
`docs/agents/issue-writing.md`, and `docs/agents/triage-labels.md`.
- Add, move, settle, or index documents: `docs/agents/documentation.md`.
- Change domain terms or accepted context decisions: `docs/agents/domain.md`.
- Make a Flue design choice: `docs/agents/flue-routing.md`.
- Produce a significant agent-authored artifact or proof: `docs/agents/legibility.md`.
- Make an architecture-sensitive move: `docs/agents/posture.md`.
- Operate on branches, stacks, commits, or PRs: `docs/agents/git-workflow.md`.
- Close a work arc: run the context-local `arc-close` skill and
`docs/agents/arc-close.md`.
4 changes: 2 additions & 2 deletions libs/@hashintel/brunch-agent/CONTEXT.md
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,7 @@ _Avoid_: digest (brunch's form)
### Envelope & packs

**Intermediate representation (IR)**:
The elicited conceptual model a target-document accumulates β€” the middle of three registers (ADR-0003): typed **assertions** (active captures) are folded by a pure, plugin-declared fold into the **model** (the IR proper β€” node instances with slot states), which **projections** consume without rereading the transcript. Not a second store β€” the model is a derivation, recomputable from active captures at any time, never a persistence surface; the rendered artifact is one projection of the model, never the model itself. Defining a plugin's IR means writing its contract β€” model schema, proposal catalog, fold table, demand table (`plugin-contract-spec.md`, provisional). An earlier definition read the capture set itself as the IR; ADR-0003 amends it.
The elicited conceptual model a target-document accumulates β€” the middle of three registers (ADR-0003): typed **assertions** (active captures) are folded by a pure, plugin-declared fold into the **model** (the IR proper β€” node instances with slot states), which **projections** consume without rereading the transcript. Not a second store β€” the model is a derivation, recomputable from active captures at any time, never a persistence surface; the rendered artifact is one projection of the model, never the model itself. Defining a plugin's IR means writing its contract β€” model schema, proposal catalog, fold table, demand table (`docs/specs/plugin-contract.md`, provisional). An earlier definition read the capture set itself as the IR; ADR-0003 amends it.
_Avoid_: knowledge store, domain model (as a stored unit), staging area

**Capture envelope**:
Expand All @@ -84,7 +84,7 @@ A capture's provenance link: a **quoted excerpt** (primary, the model-facing cit
`explicit | inferred | tentative | defaulted | external-lookup` β€” how a capture's content relates to what the user actually said. Distinct from confidence; excluded from capture identity. One status per capture, coupled structurally to the provenance shape (see Basis) β€” per-field status is unrepresentable by design (FE-1390; FE-1405's central input, consumed without amendment: the structure that wanted per-field status lives below the status, in proposal interiors).

**Grade**:
How narrow a slot value's interpretation space is β€” "fewer readings remain." Per-slot orderings read by the fold, promotion, and demands ("this anchor demands the `range` rung"). Never claim strength: that is confidence (`firm | hedged | speculative`, envelope-side, orthogonal by design). Two sources: **form grades** from the standard-interiors library's ladders (e.g. verbal < point < range < quantiles), **composition grades** plugin-declared (e.g. Gherkin's given-only < given-when < full-gwt). Coined by the FE-1405 arc (`plugin-contract-spec.md`, provisional).
How narrow a slot value's interpretation space is β€” "fewer readings remain." Per-slot orderings read by the fold, promotion, and demands ("this anchor demands the `range` rung"). Never claim strength: that is confidence (`firm | hedged | speculative`, envelope-side, orthogonal by design). Two sources: **form grades** from the standard-interiors library's ladders (e.g. verbal < point < range < quantiles), **composition grades** plugin-declared (e.g. Gherkin's given-only < given-when < full-gwt). Coined by the FE-1405 arc (`docs/specs/plugin-contract.md`, provisional).
_Avoid_: confidence (for narrowing), precision (unqualified)

**Basis**:
Expand Down
4 changes: 3 additions & 1 deletion libs/@hashintel/brunch-agent/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,10 @@ This directory is its context and agent-session root, not a package workspace:

- [`CONTEXT.md`](./CONTEXT.md) defines the domain language.
- [`docs/adr/`](./docs/adr/) records governing decisions.
- [`docs/spec.md`](./docs/spec.md) defines the harness contract.
- [`docs/specs/elicitation-kernel.md`](docs/specs/elicitation-kernel.md) defines the harness contract.
- [`docs/INDEX.md`](./docs/INDEX.md) indexes Brunch documentation.
- [`docs/control/STEERING.md`](./docs/control/STEERING.md) holds current strategic truth;
[`STRATEGY-LOG.md`](./docs/control/STRATEGY-LOG.md) records material strategic decisions.
- [`packages/core/`](./packages/core/) is `@hashintel/brunch-agent`.
- [`packages/binding-flue/`](./packages/binding-flue/) is the Flue binding.
- [`packages/transport-aisdk/`](./packages/transport-aisdk/) is the AI SDK transport.
Expand Down
Loading
Loading