decision-system S8 gate: compare HeadlessClaude and the Ollama adapter on the ReplyShape sample #1274
Labels
No labels
P0
P1
P2
P3
bug
category/code-change
category/cross-repo
category/eval-run
category/investigation
category/no-test-target
category/owner-ruling
category/prose-artifact
category/recurring-chore
category/structure
category/umbrella
crc-refactor
create
delete
enhancement
filed-by/agent
filed-by/user
frozen
lint-rule
needs-info
needs-triage
next
plugin/cc-architect
plugin/os
plugin/os-adr
plugin/os-aidd-lint
plugin/os-backlog
plugin/os-context
plugin/os-doc-hygiene
plugin/os-sdlc
plugin/os-vault
project/cc-os
ready-for-agent
ready-for-human
recurring
review
rule-proposal
update
waiting
wayfinder:grilling
wayfinder:map
wayfinder:map
wayfinder:research
wayfinder:task
wayfinder:task
wontfix
worklist/deviations
worklist/lint-rule
worklist/new-implement-build
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
jared/cc-os#1274
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Problem
S8 of
docs/decision-system/build-plan.mdhas a gate: the chosen adapter's agreement is not worse thanHeadlessClaudeon the sample, and its cost per run is lower. #1250 and #1266 built the gem move but did not run the comparison. The S8 row stays "gate open" until this run.Approach
Run
plugins/os-me/eval/reply_shape/run.rbonce per adapter:OsMe::HeadlessClaude(Sonnet) and the gem Ollama adapter. Record agreement, kappa, unreadable count, and cost per run for each. The frozen 50 is the final check only. Use the tune and holdout splits to choose, then read the frozen 50 once for the chosen adapter.Required work: none beyond the acceptance criteria.
Orchestrator work: update the S8 row in
docs/decision-system/build-plan.mdand add one History row todocs/implementation-status/os-me.md.Acceptance criteria
Origin
DESIGN(docs/decision-system/build-plan.mdS8).VERDICT: CREATE (user-approved; backlog search only)
Work started on branch ticket-1274 (worktree).
Resolution
Done: Holdout run for HeadlessClaude (Sonnet), SystemOne tev1:4b and CloudflareJev; frozen 50 read once for Jev, the chosen adapter. Jared reworded the S8 gate (tool access plus skill; local tuning separate) and ruled Jev the default. Added skill os-me:decision-model. S8 marked done.
Evidence: main
43866d85(pushed). Holdout (25x3): Jev 88.0% kappa 0.825 $0.0042 4.6 s; Sonnet 85.3% kappa 0.789 53 s; tev1:4b 60.0% kappa 0.424. Frozen 50: Jev 80.0% kappa 0.684 (gate >= 80%), Sonnet 83.3% (S2). Commits0b4af706,bc354b42,5dc109ba,761b8a0e,e94b6085.Follow-ups: #1286 Jev as the default adapter in os-me (skeptic CREATE, user-approved). decision-model#1 directory-driven eval runner with judge rules and reports (cross-project, user-requested). Dropped: cost_usd passthrough in HeadlessClaude (Jev is now the default, so Sonnet cost no longer drives a choice); rubocop in the os-me Gemfile (global rubocop uses the same config); Ollama 0 output tokens (known vendor behavior, recorded in the gem).