docs: workplan-first agent guidance prose (CUST-WP-0055 T04 batch 5)
This commit is contained in:
parent
aa9c430fd5
commit
d3ae130c1a
2 changed files with 138 additions and 8 deletions
|
|
@ -46,7 +46,7 @@ fix-consistency. Do not edit or rename it.
|
|||
|
||||
**Workplan** is the fleet term — see
|
||||
`the-custodian/canon/standards/workplan-terminology-fleet_v0.1.md`.
|
||||
**Workstream** is legacy only: some API routes (`/workstreams/`), params
|
||||
**Workplan** is legacy only: some API routes (`/workstreams/`), params
|
||||
(`workstream_id`), MCP aliases (`create_workstream`), and the frontmatter field
|
||||
above remain until `STATE-WP-0069` retires them via legacy-meter. Treat those
|
||||
identifiers as workplan IDs. Prefer `GET /workplans/` and `workplan_id` in new
|
||||
|
|
|
|||
|
|
@ -1,19 +1,149 @@
|
|||
---
|
||||
id: EBIND-WP-0001
|
||||
type: workplan
|
||||
title: "INTENT placeholder — await extraction from citation-evidence"
|
||||
title: "Extract evidence-binder from citation-evidence"
|
||||
domain: infotech
|
||||
repo: evidence-binder
|
||||
status: backlog
|
||||
status: ready
|
||||
owner: codex
|
||||
topic_slug: citation_evidence_mvp
|
||||
created: "2026-06-21"
|
||||
updated: "2026-06-21"
|
||||
updated: "2026-07-08"
|
||||
state_hub_workstream_id: "405d789c-0e0b-4764-89ed-0f6140a143e7"
|
||||
---
|
||||
|
||||
# EBIND-WP-0001 — INTENT Placeholder
|
||||
# EBIND-WP-0001 — Extract evidence-binder from citation-evidence
|
||||
|
||||
Umbrella-first MVP: binder code will extract from `citation-evidence` when the
|
||||
subsystem boundary stabilizes. This file satisfies ADR-001 workplan structure
|
||||
until then. See `INTENT.md`.
|
||||
`evidence-binder` is still INTENT-only in this repo, but the current
|
||||
implementation already exists upstream in `../citation-evidence/src/binder/`.
|
||||
That slice includes a binding service, in-memory link repository, active-state
|
||||
machine, rect registry and overlay, provider wiring, and a small form-oriented
|
||||
reference UI. This workplan turns the placeholder into a concrete extraction
|
||||
plan that preserves the canonical contracts in
|
||||
`../citation-evidence/wiki/SharedContracts.md` and the allowed edges in
|
||||
`../citation-evidence/wiki/DependencyMap.md`.
|
||||
|
||||
## Lock Extraction Boundary And Contract Deltas
|
||||
|
||||
```task
|
||||
id: EBIND-WP-0001-T01
|
||||
status: todo
|
||||
priority: high
|
||||
state_hub_task_id: "f2abe7f8-089b-4719-a739-18dc3224e9eb"
|
||||
```
|
||||
|
||||
Review the upstream binder slice (`services/`, `repos/`, `state/`,
|
||||
`visual-guide/`, `BinderProvider.tsx`, `FormRenderer.tsx`) against
|
||||
`SharedContracts.md` sections 2.4, 2.5, 4, and 7 plus `DependencyMap.md`
|
||||
section 2. Capture and resolve remaining deltas before extraction, including
|
||||
INTENT drift around `EvidenceTarget` naming, the dropped
|
||||
`derived-from` / `needs-check` relation values, and any event vocabulary that
|
||||
is not yet canonicalized.
|
||||
|
||||
## Stand Up Standalone Package, Tests, And Repo Metadata
|
||||
|
||||
```task
|
||||
id: EBIND-WP-0001-T02
|
||||
status: todo
|
||||
priority: high
|
||||
state_hub_task_id: "122a254f-6490-4211-bde7-ce515c72c36a"
|
||||
```
|
||||
|
||||
Create the standalone package and test harness that this repo currently lacks,
|
||||
then refresh repo-local metadata so it stops looking like a placeholder. This
|
||||
includes package entrypoints, test scripts, baseline CI/tooling, `README.md`,
|
||||
`SCOPE.md`, and the stale capability metadata in
|
||||
`registry/indexes/capabilities.yaml`.
|
||||
|
||||
## Extract Headless Binding Model And Repository
|
||||
|
||||
```task
|
||||
id: EBIND-WP-0001-T03
|
||||
status: todo
|
||||
priority: high
|
||||
state_hub_task_id: "d58501a4-b2e5-45fa-b504-e2c37ca48e68"
|
||||
```
|
||||
|
||||
Move the headless binding primitives from
|
||||
`../citation-evidence/src/binder/repos/in-memory-links.ts` and
|
||||
`../citation-evidence/src/binder/services/bindings.ts` with their tests. Keep
|
||||
the current query directions, default relation/status behavior, and event-bus
|
||||
emission semantics while staying independent of persistence, viewer internals,
|
||||
`citation-work`, and `evidence-source`.
|
||||
|
||||
## Extract Active State And Provider Composition
|
||||
|
||||
```task
|
||||
id: EBIND-WP-0001-T04
|
||||
status: todo
|
||||
priority: high
|
||||
state_hub_task_id: "b6f96550-c4a6-4ce1-bfde-4c91d33da687"
|
||||
```
|
||||
|
||||
Extract `state/active.ts` and `BinderProvider.tsx` so the binder owns the
|
||||
active target / active evidence / active annotation state triple plus the
|
||||
composition root that wires link storage, binding services, rect registry, and
|
||||
engine bus access. Preserve `initialLinks` restore behavior and bus injection
|
||||
without introducing a dependency on umbrella app code.
|
||||
|
||||
## Extract Rect Registry, Change Pumps, And Overlay
|
||||
|
||||
```task
|
||||
id: EBIND-WP-0001-T05
|
||||
status: todo
|
||||
priority: high
|
||||
state_hub_task_id: "58b55a71-eee4-4f3d-9bcd-7c3678320dd1"
|
||||
```
|
||||
|
||||
Move the visual-guide contract from
|
||||
`../citation-evidence/src/binder/visual-guide/`, including
|
||||
`rect-registry.ts`, `events.ts`, `react-hooks.ts`, `Overlay.tsx`, and their
|
||||
tests. Preserve the section 7 rect kinds, invalidate/version semantics,
|
||||
requestAnimationFrame throttling, and the contract that independent renderers
|
||||
publish rects into one registry.
|
||||
|
||||
## Decide Binder-Owned Reference UI Surface
|
||||
|
||||
```task
|
||||
id: EBIND-WP-0001-T06
|
||||
status: todo
|
||||
priority: medium
|
||||
state_hub_task_id: "39164219-5f35-49cf-874a-00fd0c902007"
|
||||
```
|
||||
|
||||
Decide whether `FormRenderer.tsx` and `FieldDefinitionForm.tsx` remain binder
|
||||
exports, move into examples, or shift into an application layer. Whatever the
|
||||
outcome, keep binder form-friendly but target-neutral, avoid a `citation-work`
|
||||
dependency, and document which React surfaces are supported versus merely
|
||||
illustrative.
|
||||
|
||||
## Cut Over Umbrella Integration And Verify Boundaries
|
||||
|
||||
```task
|
||||
id: EBIND-WP-0001-T07
|
||||
status: todo
|
||||
priority: high
|
||||
state_hub_task_id: "efceaee5-43a8-4ecf-9025-a5843eecada0"
|
||||
```
|
||||
|
||||
Update `citation-evidence` to consume the extracted binder package instead of
|
||||
owning `src/binder/` directly, or otherwise enforce the same boundary through
|
||||
package-level imports during a staged cutover. Verify there are no forbidden
|
||||
edges to `citation-evidence` behavior, `citation-work`, or `evidence-source`,
|
||||
and keep shared-contract changes flowing through the umbrella docs until the
|
||||
cutover is complete.
|
||||
|
||||
## Exit Criteria
|
||||
|
||||
```task
|
||||
id: EBIND-WP-0001-T08
|
||||
status: todo
|
||||
priority: medium
|
||||
state_hub_task_id: "2c89dfcb-1526-46d9-936d-8f97f4e48d76"
|
||||
```
|
||||
|
||||
Exit when this repo exports the binder service, active-state flow, and
|
||||
visual-guide rect-registry contract with passing tests; repo docs and metadata
|
||||
match the canonical shared contracts; and the umbrella app can define a target,
|
||||
link evidence, activate evidence, and draw the field-to-card-to-highlight
|
||||
overlay without relying on the upstream `src/binder/` implementation.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue