docs(truth): S1 truth maintenance — CHANGELOG, stack line, MCP claim, conflict semantics, 90% cut-list
Findings 4-7 from the 2026-07-02 status analysis, per the session plan (S1): - CHANGELOG rewritten truthfully (was: 'Plan phase - no framework code yet') - README stack line names the split GA packages, not the agent-framework meta-package - CLAUDE.md: MCP downgraded to extension point (in-process FunctionTool is the default seam) - Verdict conflict semantics documented as chosen (store first-write-wins per id, disk/wiki last-write-wins per file; full B10 taxonomy deliberately deferred) - docs/extending.md: explicit 90%-principle cut-list (B10, B11, U12, U14, concurrent fan-out) - .gitignore covers .trekexecute-progress-* (docs/.DS_Store was already untracked/ignored - the plan's git rm --cached assumption was stale; no-op) No code behavior changed (docstring only in verdicts.py). Suite 152/4 green, mypy clean, ruff format --check clean. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01AaQCFnfsh3tfq1VfzdJpoi
This commit is contained in:
parent
705c5dd49a
commit
ae01127510
6 changed files with 54 additions and 5 deletions
|
|
@ -223,7 +223,15 @@ class VerdictStore:
|
|||
return ranked[:k]
|
||||
|
||||
def add(self, verdict: Verdict) -> None:
|
||||
"""Persist a captured verdict in-memory (idempotent on content-hash id)."""
|
||||
"""Persist a captured verdict in-memory.
|
||||
|
||||
Conflict semantics (chosen, documented): the store is FIRST-write-wins per ``id`` — a
|
||||
later verdict with the same content-hash id is dropped, which makes repeated Step-7 inbox
|
||||
merges idempotent. The disk layers are the opposite: ``write_verdict`` (inbox) and
|
||||
``promote_verdict`` (wiki) are last-write-wins per file. Because ids hash the candidate
|
||||
FEATURES, "same id" means "same candidate measure", not "same verdict event". A full
|
||||
verdict-conflict taxonomy (B10: rejection categories + a rule for conflicting expert
|
||||
verdicts) is deliberately deferred until real experts produce conflicting verdicts."""
|
||||
if all(v.id != verdict.id for v in self.verdicts):
|
||||
self.verdicts.append(verdict)
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue