Skip to content

docs(adr): inner curation loop — Phase F F0 Wave 1#182

Open
ronsse wants to merge 2 commits into
mainfrom
worktree-agent-a44adb0ba5cbbbdd3
Open

docs(adr): inner curation loop — Phase F F0 Wave 1#182
ronsse wants to merge 2 commits into
mainfrom
worktree-agent-a44adb0ba5cbbbdd3

Conversation

@ronsse

@ronsse ronsse commented May 18, 2026

Copy link
Copy Markdown
Owner

Summary

  • Adds docs/design/adr-inner-curation-loop.md (~218 lines) defining the curator graph skill. Closes adr-planes-and-substrates.md Phase 4's deferred document_ids consumption story.
  • Curator detects under-populated nodes, reads referenced documents via the harness's read_document tool, writes properties.summary + properties.description through MutationExecutor. Bounded write scope (no edges, no new entities, no other properties).
  • Three trigger paths (explicit / detected scheduler / lazy on-retrieval); detected + lazy default disabled, opt-in via TRELLIS_CURATION_SCHEDULER_ENABLED. Idempotent via stable sha256(node_id || sorted(document_ids) || prompt_template_version || model_id).
  • §2.2 heuristic excludes node_role="curated" by default — avoids overwriting intentional human/curator output. Surfaced as M-severity finding during coordination pass.

Test plan

  • ADR reads cleanly alongside sibling adr-graph-skill-harness.md
  • Cross-references to harness ADR + adr-planes-and-substrates.md resolve
  • §2.2 is_under_populated signature is implementable (matches ParameterRegistry patterns)
  • Event-type names match dotted-lowercase codebase convention (curation.requested, node.enriched, curation.deferred, curation.feedback_recorded)

🤖 Generated with Claude Code

ronsse and others added 2 commits May 18, 2026 10:02
…it B)

Designs the curator graph skill that closes the adr-planes-and-substrates
Phase 4 deferred consumption story for document_ids. Specifies the
under-population heuristic, three trigger paths (explicit / detected /
lazy), hard-bounded write scope (summary + description only via
ENTITY_UPDATE), feedback contract (node.enriched + curation.deferred +
curation.feedback_recorded), failure modes with idempotent proposal
hashing, and two-layer budgets matching the opt-in defaults established
by adr-coding-agent-loop.md.

References adr-graph-skill-harness.md as the substrate (parallel Unit A).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Adds excluded_roles=("curated",) parameter to is_under_populated() in curator ADR §2.2. A node deliberately marked node_role="curated" by a human reviewer or prior curator pass should not be re-enriched on top — overwriting intentional output is a safety regression, not a feature. The exclusion list lives in the same ParameterRegistry scope under key under_population_excluded_roles. Surfaced as M-severity deferred finding during Wave 1 coordination.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant