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
268 changes: 100 additions & 168 deletions CONTRIBUTING.md

Large diffs are not rendered by default.

8 changes: 4 additions & 4 deletions memory/PLAN.md
Original file line number Diff line number Diff line change
Expand Up @@ -163,11 +163,11 @@ Deferred below the demo line until the demo lands. The earlier context-pipeline
- **Status:** parallel / low-conflict
- **Certainty:** proving (low blast radius)
- **Stabilizes:** D73-L's ownership direction extended to the runtime/session axes — a drizzle-free `src/session/schema/kinds.ts` leaf owning the closed enum arrays for the runtime axes (`op_mode`, `strategy`, `lens`, `goal`, and the `auto` selection sentinel), mirroring `src/graph/schema/kinds.ts`.
- **Objective:** Establish `src/session/schema/kinds.ts` as the single source of truth for the session/runtime axis vocabulary currently scattered (e.g. `MethodId` in `src/.pi/agents/state.ts`, axis ids in `runtime-policy.ts` / `affordances.ts`, and the display-only `PLANNED_OPERATIONAL_MODE_IDS` / `OperationalModeChoice` added to `session/runtime-state.ts` for the mode picker, 2026-06-12). Consumers import the closed arrays from the leaf; the leaf imports nothing (no drizzle, no pi). Must not recreate `READINESS_GRADES` (retired by `capability-readiness`).
- **Objective:** Establish `src/session/schema/kinds.ts` as the single source of truth for the session/runtime axis vocabulary currently scattered (e.g. `MethodId` in `src/.pi/extensions/runtime/state.ts`, axis ids in `runtime-policy.ts` / `affordances.ts`, and the display-only `PLANNED_OPERATIONAL_MODE_IDS` / `OperationalModeChoice` added to `session/runtime-state.ts` for the mode picker, 2026-06-12). Consumers import the closed arrays from the leaf; the leaf imports nothing (no drizzle, no pi). Must not recreate `READINESS_GRADES` (retired by `capability-readiness`).
- **Why now / unlocks:** The user asked (decision 3) for a runtime-state source-of-truth file parallel to `graph/schema/kinds.ts` so `op_mode` / `strategy` / `lens` / `goal` enums have one home. Independent of the remodel chain and the trio; low conflict.
- **Acceptance:**
- `src/session/schema/kinds.ts` exists as a pure constants leaf and owns the runtime axis enums; axis-id consumers import from it.
- No runtime axis enum is re-declared in `.pi/agents/state.ts`, `runtime-policy.ts`, or `affordances.ts`.
- No runtime axis enum is re-declared in `.pi/extensions/runtime/state.ts`, `runtime-policy.ts`, or `affordances.ts`.
- The leaf imports nothing runtime-heavy (drizzle-free, pi-free), matching the D73-L graph-leaf posture.
- **Verification:** Inner — import-boundary / architecture test that the leaf imports nothing and that consumers source axis enums from it.
- **Cross-cutting obligations:** Keep the leaf a pure constants module, not a behavior home; do not recreate the retired `READINESS_GRADES`.
Expand Down Expand Up @@ -326,7 +326,7 @@ Deferred below the demo line until the demo lands. The earlier context-pipeline
- **Why now / unlocks:** The topology is itself a delivery asset: future agents and humans need to know where product behavior lives without rediscovering old `src/.pi/context`, root-level entrypoint scattering, or Pi-extension-owned projection/formatting helpers.
- **Acceptance:** When a frontier materially changes `src/{app, workspace, scripts, .pi, db, graph, session, projections, renderers, rpc, web}`, its README/boundary tests reflect the responsibility split; stale paths are deleted rather than aliased unless the current slice truly needs a transition.
- **Verification:** File-scoped documentation review and existing no-bypass/import-boundary tests; add grep/architecture tests only where they protect a real seam.
- **Topology materialization:** This frontier should usually be implemented as part of the frontier that caused the topology change; keep it separate only for doc/test-only hardening with low conflict. Completed 2026-06-06: root entrypoints moved to `app/`/`workspace/`/`scripts/`, reusable projection/rendering helpers moved to `projections/`/`renderers/`, and D40-L runtime-state policy now uses shared projected policy while `.pi` remains the adapter.
- **Topology materialization:** This frontier should usually be implemented as part of the frontier that caused the topology change; keep it separate only for doc/test-only hardening with low conflict. Completed 2026-06-06: root entrypoints moved to `app/`/`workspace/`/`scripts/`, reusable projection/rendering helpers moved to `projections/`/`renderers/`, and D40-L runtime-state policy now uses shared projected policy while `.pi` remains the adapter. Completed 2026-06 (`manipulations` de-conflation): `.pi/agents/` is now markdown-only role definitions; prompt composition + pushed seed contexts moved to `.pi/extensions/system-prompts/` (`compose.ts`, `seed/` with `renderWorkspaceSeed`/`renderGraphSeed`), the prompt-resource manifest + tool/method legality moved to `.pi/extensions/runtime/state.ts`, and the D60-L agent-context orchestration split between `system-prompts/seed/` (pushed) and `.pi/extensions/context/` (pull tools). READMEs reconciled (D52-L/D58-L/D60-L).
- **Cross-cutting obligations:** Do not create speculative folders. A directory earns existence by carrying present code/resources or by making an already-used seam legible.
- **Traceability:** D52-L, D39-L, D4-L.
- **Design docs:** `src/README.md`; `src/.pi/README.md`; `src/.pi/agents/README.md`; `src/.pi/skills/README.md`; `src/.pi/extensions/README.md`; `src/db/README.md`; `src/graph/README.md`; `src/projections/README.md`; `src/renderers/README.md`; `src/rpc/README.md`; `src/session/README.md`; `src/web/README.md`.
Expand Down Expand Up @@ -411,7 +411,7 @@ notes:
- The temporary `memory/CROSS_CUT_PLAN.md` capability ledger is retired (2026-06-12): its last open row — Seam 3a capture-reflection writeback — is designed (D81-L noticings-spawn-gaps + close-on-answered) and owned by `generalized-capture` (FE-861) acceptance. Cross-cut history: docs/archive/PLAN_HISTORY.md.
- `role-safe-graph-mutations` guardrail: the canonical authored graph command is `mutateGraph` / `mutate_graph`; role-named endpoint fields normalize through `EDGE_CATEGORY_METADATA`. Downstream capture and dev curation must not reintroduce `{category, source, target}` at authored boundaries.
- `exchanges-and-generalized-capture` was split (2026-06-11 demo cut) into `generalized-capture` (now the D80-L/D81-L/D82-L banded-sweep frontier) and `exchange-symmetry-audit` (deferred delete-oriented cleanup — do not regrow deleted `capture-*` symmetry; `present-candidates` stays topology-stubbed).
- **Context-pipeline coverage trio.** PULL → PROJECT → RENDER → COMPOSE (D60-L). Stages 1 (#project) and 3 (#compose) are done (ledgers in `src/projections/README.md` + `src/session/README.md`; goldens in `src/.pi/agents/__previews__/`); stage 2 `renderer-golden-coverage` (#render) is the only open coverage frontier, deferred below the demo line. Prepared chain: `memory/cards/renderer-golden-coverage--render-stage-chain.md`.
- **Context-pipeline coverage trio.** PULL → PROJECT → RENDER → COMPOSE (D60-L). Stages 1 (#project) and 3 (#compose) are done (ledgers in `src/projections/README.md` + `src/session/README.md`; goldens in `src/.pi/extensions/system-prompts/__previews__/`); stage 2 `renderer-golden-coverage` (#render) is the only open coverage frontier, deferred below the demo line. Prepared chain: `memory/cards/renderer-golden-coverage--render-stage-chain.md`.
- `topology-readmes-and-boundaries` is not a license for abstract cleanup; it rides with concrete delivery seams.
- Tripwire (origination, from the retired `origination-kick-live` definition): a foreign/user `label` entry at the transcript tail is not in the continuity-only set and reads as a non-debt leaf in `latestTailOwesAssistant` — harden only if `/tree` labeling becomes a real Brunch flow.
- Multi-spec workspace discipline applies throughout: target the selected/current spec explicitly; no workspace-global graph truth in the POC.
Expand Down
Loading
Loading