Skip to content

audit: evidence is complete-STAR stories only — align with the shared evidence definition - #101

Merged
the-data-viking merged 4 commits into
mainfrom
claude/surface-dispute-details-skk68b
Jul 26, 2026
Merged

audit: evidence is complete-STAR stories only — align with the shared evidence definition#101
the-data-viking merged 4 commits into
mainfrom
claude/surface-dispute-details-skk68b

Conversation

@the-data-viking

Copy link
Copy Markdown
Contributor

What

  • skill.unsupported_strength counts only complete-STAR stories as evidence (all four sections present) — the same retrievable set find_story serves, and the definition the hosted scanner now shares (_evidence.ts in traitprint-cloud). Previously any linked story counted, so a strong skill whose only "evidence" was an incomplete draft silently passed while find_story(skill) returned nothing. skill.stale_evidence uses the same set for its freshness timestamps.
  • The finding now names traitprint-mine-story-gaps as its fix_skill (it's the remedy) and its message reads "no complete STAR story demonstrates it. Strong claims read as more credible with a story behind them." — the wording the cloud scanner's reclassified evidence-gap flags share.
  • dispute-v1: new normative section "Evidence gaps are NOT disputes" — both servers keep this rule off the dispute surface (local: audit finding; cloud: advisory unsupported trait_flags rows excluded from the MCP reshape). This records the correction of cloud's pre-2026-07 behavior, where these were emitted as contradiction self-pairs (entities: [id, id]) and wrongly surfaced as disputes; the local server never emitted them, so the exclusion is also a cross-server parity fix.
  • AGENTS.md / GEMINI.md proficiency-scale wording updated ("no complete STAR story linked"); CHANGELOG entry under Unreleased.

Cloud coordination

Paired with the traitprint-cloud branch of the same name (scanner reclassification to one-sided unsupported flags + dispute-surface exclusion + grouped web UI). Flagging per the drift constraint: no behavior change to proposals.py or coherence.py — this aligns the audit's evidence definition with the already-shared story-evidence semantics.

Testing

  • pytest -q: 1079 passed (2 new: incomplete-STAR draft does not silence the finding; complete story clears it; fix_skill pinned).
  • ruff check src/ tests/: clean.
  • mypy src/: the two pre-existing mining.py unused-ignore errors are the known local-venv artifact ([import] extras installed locally; CI installs [dev] only and passes).

🤖 Generated with Claude Code

https://claude.ai/code/session_01RdYoLHB9CWNAdf8gZVjShZ


Generated by Claude Code

… evidence definition

skill.unsupported_strength (and skill.stale_evidence's freshness set) now
count only stories with all four STAR sections as evidence — the same
retrievable set find_story serves, and the definition the hosted scanner
shares (traitprint-cloud _evidence.ts). A strong skill whose only linked
story is an incomplete draft was silently passing; it now flags. The
finding names traitprint-mine-story-gaps as its fix_skill and its message
reads "no complete STAR story demonstrates it".

dispute-v1 gains a normative "Evidence gaps are NOT disputes" section:
both servers keep this rule off the dispute surface (local: audit finding;
cloud: advisory "unsupported" trait_flags rows excluded from the MCP
reshape) — recording the cloud scanner's reclassification of its
proficiency check away from contradiction self-pairs, which the local
server never emitted.

Cloud coordination: paired with the traitprint-cloud branch of the same
name (scanner reclassification + dispute-surface exclusion). No behavior
change to proposals.py/coherence.py.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01RdYoLHB9CWNAdf8gZVjShZ

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: a29dcf852d

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread src/traitprint/audit.py
claude added 3 commits July 26, 2026 16:00
…view)

search_skills counted every linked story while the audit (and the newly
documented contract) count only complete-STAR stories — a strong skill
backed solely by a draft reported evidence_count 1 with top_evidence while
find_story returned nothing and the audit flagged it unsupported. The
predicate now lives once as StorySchema.is_complete_star() and is used by
_story_evidence_by_skill, find_story's retrievable-set filter, and both
audit sites.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01RdYoLHB9CWNAdf8gZVjShZ
Agents connected over MCP could only tell the user to run 'traitprint
sync'. The local server now exposes vault_sync, wrapping the same sync-v1
engine (gitsync + stored credentials, shared with the CLI via the new
credentials.resolve_credentials). Sync transports already-committed git
history only — vault writes still go through the audited CLI/proposals
channel — so push/pull need no per-run confirmation (decision
2026-07-26). Recoverable protocol outcomes return as structured data the
agent can act on: push non_fast_forward (pull first, then push),
schema_violation with per-file violations, pull conflicts with a
resolution hint. Auth/transport failures are tool errors.

Docs: AGENTS.md tool registry (nine tools) + local↔hosted delta, README
counts, GEMINI.md hosted list gains vault_sync_status (shipping in the
paired traitprint-cloud branch) with vault_sync marked local-only,
serving note. CHANGELOG under Unreleased.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01RdYoLHB9CWNAdf8gZVjShZ
The hosted MCP server now exposes scan_profile (traitprint-cloud#1735)
alongside vault_sync_status — record both in GEMINI.md's hosted tool
groups and AGENTS.md's local↔hosted delta.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01RdYoLHB9CWNAdf8gZVjShZ
@the-data-viking
the-data-viking merged commit 89df0c1 into main Jul 26, 2026
4 checks passed
@the-data-viking
the-data-viking deleted the claude/surface-dispute-details-skk68b branch July 26, 2026 18:37
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.

2 participants