Skip to content

docs(rfc): RFC-0007 — preference memory, learning material shaping from room feedback (#67) - #85

Merged
danielPoloWork merged 1 commit into
mainfrom
rfc/0007-preference-memory
Jul 2, 2026
Merged

danielPoloWork merged 1 commit into
mainfrom
rfc/0007-preference-memory

Conversation

@danielPoloWork

Copy link
Copy Markdown
Owner

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

  1. Capture — the human-authored outcomes YAML gains an optional material_feedback: block: verdict: accepted|edited|rejected + tags from a closed vocabulary (os/advisor/feedback-tags.yaml); unknown tags fail loudly.
  2. Store — folded into a preferences section 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.
  3. Applyseries open compiles tags → shaping deltas via the vocabulary table and prints a proposal; the deltas enter the manifest as an explicit preferences_applied: block, applied by render as one more overlay after altitude. Render never reads the store — manifest-confirmed covers the adaptation, no silent reshaping.
  4. Gatepreferences-valid: tags in vocabulary; deltas tighten-only (never violate the altitude budget or deliverable_bounds); required sections untouchable.
  5. Scope ladder — v1 per-series only; the cross-series roll-up is explicitly deferred to its own RFC (that's where fabrication risk re-enters).

Design decisions to react to (§10 Open questions)

  • Threshold: apply from count ≥ 1 (draft) or require a repeated signal?
  • Decay: does verdict: accepted with no tags clear a deliverable's accumulated tags? (Draft: yes — satisfaction is signal too.)
  • Digest ergonomics: series open emits 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

…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 danielPoloWork added enhancement New feature or request rfc-needed Needs an RFC/ADR before code (design-first) labels Jul 2, 2026
@danielPoloWork danielPoloWork self-assigned this Jul 2, 2026
@danielPoloWork
danielPoloWork marked this pull request as ready for review July 2, 2026 21:48
@danielPoloWork
danielPoloWork merged commit 58b4632 into main Jul 2, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request rfc-needed Needs an RFC/ADR before code (design-first)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant