docs(rfc): RFC-0007 — preference memory, learning material shaping from room feedback (#67) - #85
Merged
Merged
Conversation
…om room feedback (#67) Design-before-code (AGENTS §7): the RFC step of #67. EAMOS remembers facts (series store) and precedents (advisor repository) but nothing captures how the audience wants material SHAPED — the Q2 'too long' rejection does not inform the Q3 deck. The design stays deterministic and in-pattern (no ML): - Capture: an optional material_feedback block in the human-authored outcomes YAML — verdict enum + tags from a closed vocabulary (os/advisor/feedback-tags.yaml); unknown tags fail loudly. - Store: folded into a new preferences section of the series store, keyed altitude × deliverable × tag with instance provenance and replace-by-instance idempotency (#56 semantics). - Apply: series open COMPILES the tags to shaping deltas via the vocabulary table and prints a proposal; the deltas enter the manifest as an explicit preferences_applied block — render applies it as one more overlay after altitude, never reading the store. manifest-confirmed covers the adaptation: no silent reshaping. - Gate: preferences-valid — tags in vocabulary, deltas tighten-only (never violate the altitude budget or deliverable_bounds), required sections untouchable. - Scope ladder: v1 per-series only; cross-series roll-up explicitly deferred to its own RFC (that is where fabrication risk re-enters). Status: Proposed — awaiting owner ratification. Implementation PRs follow after, per the #28/RFC-0003 and #33/RFC-0006 two-step. Part of #67 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
danielPoloWork
marked this pull request as ready for review
July 2, 2026 21:48
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.
The RFC step of #67 (design-before-code, AGENTS §7)
This PR adds RFC-0007 — Preference memory (Status: Proposed, awaiting your ratification). No code changes — the implementation PR(s) follow after ratification, per the #28/RFC-0003 and #33/RFC-0006 two-step.
The design in five lines
material_feedback:block:verdict: accepted|edited|rejected+ tags from a closed vocabulary (os/advisor/feedback-tags.yaml); unknown tags fail loudly.preferencessection of the series store, keyed altitude × deliverable × tag, with instance provenance and fix(series): re-closing the same instance duplicates decisions/actions in the store (also followup, advisor record) #56 replace-by-instance idempotency.series opencompiles tags → shaping deltas via the vocabulary table and prints a proposal; the deltas enter the manifest as an explicitpreferences_applied:block, applied by render as one more overlay after altitude. Render never reads the store —manifest-confirmedcovers the adaptation, no silent reshaping.preferences-valid: tags in vocabulary; deltas tighten-only (never violate the altitude budget ordeliverable_bounds); required sections untouchable.Design decisions to react to (§10 Open questions)
count ≥ 1(draft) or require a repeated signal?verdict: acceptedwith no tags clear a deliverable's accumulated tags? (Draft: yes — satisfaction is signal too.)series openemits the ready-to-paste YAML block (draft: yes).tone_*tags: advisory-only in v1 (no structural lever yet).Conflict resolution is by tag
group+ recency (the CFO's latest reaction wins within a group); every delta is conservative by construction (a preference can shorten, reorder, or drop — never widen a budget).Part of #67 — please review/annotate; on ratification I'll flip Status to Accepted and open the implementation PRs along §7's list.
🤖 Generated with Claude Code