Skip to main content

OMC external-driver front door โ€” goal -> dry-run composition plan over the harness modules (Evidence-First agent OS).

Project description

Evidence-First OS for AI Coding Agents

CI License: MIT Spec V3

๐Ÿ‡จ๐Ÿ‡ณ ไธญๆ–‡็‰ˆ: README.zh.md ยท ๐Ÿ“– New here? See docs/quickstart.md for copy-paste onboarding prompts.

๐Ÿงฉ Consuming the VCOS runtime in your own project? See docs/CONSUMING-VCOS.md โ€” the complete end-to-end guide (idea โ†’ develop โ†’ ship โ†’ iterate), observer + harness modes, the agent_step protocol, conformance, and shipped-vs-gated boundaries.

๐Ÿ“ Structuring your own repo for humans + AI agents? See docs/STANDARD-PROJECT-STRUCTURE.md โ€” a portable, evidence-backed world-class standard (AGENTS.md/CLAUDE.md entry ยท README/ARCHITECTURE/ADR/Diรกtaxis ยท navigation-vs-architecture diagrams) you can copy into any project. ๅฏ็งปๆค็š„ไธ–็•Œ็บง้กน็›ฎ็ป“ๆž„่ง„่Œƒใ€‚

User-level default configuration that makes Claude Code + OpenAI Codex refuse guess-based answers and shallow diagnoses by default, in every session, every project.

"Verification > Instruction" (ETH Zurich 2026, arXiv:2602.11988) โ€” long instruction files reduce success rate 3% and cost 20%. This repo enforces evidence-first behavior through hooks (deterministic gates), not prose.

TL;DR โ€” What you get (after bash install.sh)

  • โœ… Iron Law enforced: hook-level blocking of unverified facts ("82k stars" without gh repo view), shallow fixes (change line 42 without Mechanism gap:), and false completion claims ("done" without npm test)
  • โœ… L0-L4 diagnosis ladder mandatory for debug tasks (Evidence โ†’ Root cause โ†’ Mechanism gap โ†’ Prevention)
  • โœ… Stop quality gate: 7 numbered quality checks + spec archive guard + retired-recap drift guard; a non-blocking recap emitter adds one italic-gray Stop says: ๐Ÿ›ก๏ธ <project> V3 โ€” ... line on rule-applied turns; set CODEX_STOP_GATE_ADVISORY=1 to switch the Codex stop gate from hard-block to warn-only
  • โœ… V3.19' folded routing: 8-pattern keyword router on every prompt โ€” spec writing emits EARS/grilling pointer, debug emits taxonomy pointer, implement emits Simplicity reminder, goal-criteria emits Goal-Driven reminder
  • โœ… Audit-grade trace: ~/.claude/audit/*.log + <project>/.ai/evidence.jsonl prove every hook fire, every prompt classification, every tool call's claim type
  • โœ… Survives existing setup: merge-preserve installer keeps your OMC, skill-os, claude-mem, mattpocock, oh-my-codex hooks intact

One-command install

git clone https://github.com/lin-mouren/evidence-first-os.git
cd evidence-first-os
bash install.sh

Default behavior (merge-preserve):

  • Renames existing ~/.claude/CLAUDE.md โ†’ ~/.claude/OMC.md, writes new CLAUDE.md that @imports both
  • Backs up settings.json to *.bak-<timestamp>, jq-merges V3 hooks into existing array (no overwrites)
  • Skills installed only if absent (preserves obra-superpowers systematic-debugging etc.)

For a clean machine: bash install.sh --force overwrites instead of merging.

Verify install

bash verify.sh
# ยง9.1 anti-guessing verification       PASS
# ยง9.2 L0-L4 diagnosis ladder           PASS
# ยง9.3 completion claim gate            PASS
# ยง9.5 configuration integrity guard    PASS (2 checks)
# ยง9.5b reference-integrity scan        PASS (3 checks)
# Positive control                      PASS
# ยง9.6 Codex cross-stack hook smoke     PASS (4 checks)
# ยง9.7 Stop hook surgical gate          PASS (2 checks)
# ยง9.8 Project doctor                   PASS
# Result: 16 passed, 0 failed

After your next Claude Code session start:

tail -3 ~/.claude/audit/session-start.log
# Expect: "2026-... PWD=... HOOK_EVENT=... matcher=session-start-policy.sh"

๐Ÿš€ Recommended efficient usage

This is the single most important section of this README. Read it before doing real work with V3.

1. The daily-driver mental model

V3 is invisible until you give it a signal. The signal lives in your prompt. Choose your verb wisely; the right verb activates the right rule pointer at zero token cost.

What you want to do Use these words in your prompt What the hook injects
Write a new feature spec spec ยท requirements ยท feature ยท ้œ€ๆฑ‚ ยท specify ยท EARS ยท grilling [vcos-spec] pointer โ†’ grilling 8-field intake + EARS template (V3.19' P1+R1)
Implement / fix code ๆ–นๆกˆ ยท solution ยท implement ยท fix ยท ไฟฎๅค [simplicity-first] Karpathy Rule 2 reminder
Define success criteria goal ยท criteria ยท success ยท measurable ยท verifiable ยท ็›ฎๆ ‡ ยท ๆŒ‡ๆ ‡ [goal-driven] Karpathy Rule 4 + verify-after-each-step template
Debug / find root cause debug ยท root cause ยท why ยท ไธบไป€ไนˆ ยท ๆœ€ไฝณๆ–นๆกˆ [evidence-required] Evidence/Symptom/Root cause/Gap/Prevention scaffold
Verify external facts verify ยท check ยท actual ยท latest ยท ๅฝ“ๅ‰ ยท ๆœ€ๆ–ฐ ยท ้ชŒ่ฏ [evidence-required] 5-step claim protocol
Audit Claude Code config skill ยท hook ยท AGENTS ยท CLAUDE ยท settings ยท managed [evidence-required]
Hedge-flag self-check ๅบ”่ฏฅๆ˜ฏ ยท ๅฏ่ƒฝๆ˜ฏ ยท ็œ‹่ตทๆฅ ยท ้€šๅธธ ยท ๆ˜พ็„ถ ยท ไธๅฏ่ƒฝ [evidence-required] red-flag downgrade

Karpathy Simplicity hint: do not try to use every signal in every prompt. Use the most relevant one. The hooks decay gracefully if no signal matches (silent โ€” zero injection).

2. Per-project setup (one command, 5 seconds)

The fastest path is the init-project.sh helper. From any project root:

bash ~/.claude/scripts/init-project.sh

It is idempotent and skips any file that already exists. What it does:

  1. Drops a portable .envrc (auto-discovers most-recent .ai/specs/in-progress/<feature>/, exports V3_SPEC_ID + V3_CTX_MANIFEST_HASH; safe to source in bash or zsh)
  2. Drops a โ‰ค30-line CLAUDE.md project pointer (lists active V3 indicators + spec lifecycle + V3.19' shared-schema names)
  3. Ensures .ai/specs/{in-progress,plans-executed}/ directories exist
  4. Appends .envrc.local + .ai/ to existing .gitignore if missing
  5. Runs direnv allow . when direnv is installed; otherwise prints the manual source .envrc reminder

Alternative: install + bootstrap in one shot

If you are installing V3 for the first time AND want to bootstrap the current project in the same call:

bash install.sh --with-direnv-template

The --with-direnv-template flag runs init-project.sh against the cwd at the end of the standard install. Useful when cloning evidence-first-os itself or installing into a brand-new repo.

If your project already has CLAUDE.md (or AGENTS.md)

init-project.sh is idempotent โ€” it never overwrites existing files. When you run it in a project that already has a project-level CLAUDE.md (e.g., AIEP / Spec Kit / company framework), the script will:

  • [skip] CLAUDE.md (your project constitution is preserved verbatim)
  • [created] .envrc (P3 env auto-export)
  • [ensured] .ai/specs/{in-progress,plans-executed}/
  • [appended] .gitignore (.envrc.local + .ai/)

This is by design: V3 user-level rules in ~/.claude/CLAUDE.md coexist with any project-level CLAUDE.md (Karpathy Surgical Changes โ€” V3 adds, project retains).

To explicitly cross-reference V3 indicators inside an existing project CLAUDE.md, prepend a small block at the top (โ‰ค10 lines):

> **V3.19' Evidence-First OS integration** (added by `~/.claude/scripts/init-project.sh`)
> User-level V3 defaults from `~/.claude/CLAUDE.md` + `~/.ai-policies/core.md` apply.
> - **Active V3 indicators** (Stop hook check 8 auto-emit): Think-Before-Coding โœ“ / Deep-Diagnosis โœ“ / Surgical-Changes โœ“ / Karpathy โœ“ / Goal-Driven โœ“
> - **Spec lifecycle**: `.ai/specs/in-progress/<feature>/` โ†’ `.ai/specs/plans-executed/`
> - **Templates**: `~/.claude/templates/ai-spec/{spec.md, grilling.md}`
> - **V3.19' shared schema** (env-gated via `.envrc`): `spec_id` / `task_id` / `failure_taxonomy` / `context_manifest_hash`

---

The block coexists with your project constitution; no conflict.

Mid-session refresh (already-running Claude Code / Codex CLI)

~/.claude/ hooks are read fresh per-tool invocation, so new hook behavior is active on the very next prompt without restart. But the LLM context (always-loaded rules) is cached at SessionStart (per ADR-0008 / 0012):

You want to refresh Action Side effect
Hook behavior only none โ€” automatic next turn โ€”
LLM-side rules (e.g., new R2 taxonomy) type /clear in the session session history compacts
P3 env vars in tool calls (V3_SPEC_ID, V3_CTX_MANIFEST_HASH) exit + source .envrc + relaunch CC/Codex session history lost
All of the above exit + source .envrc + relaunch clean cold start

Recommended daily-driver: /clear after running init-project.sh from another terminal โ€” covers 90% (P3 env vars defer to next session).

3. The 5-minute new-feature workflow

# 1. Bootstrap a spec from V3.19' templates
FEATURE=add-payment-retry
mkdir -p ".ai/specs/in-progress/${FEATURE}"
cp ~/.claude/templates/ai-spec/grilling.md ".ai/specs/in-progress/${FEATURE}/"
cp ~/.claude/templates/ai-spec/spec.md     ".ai/specs/in-progress/${FEATURE}/"

# 2. Tell Claude Code (one prompt is enough)
#    > "Please grill me on the spec for add-payment-retry feature, then fill EARS requirements."
#    Hook auto-injects [vcos-spec] pointer; Claude runs the 8-field interview.

# 3. After grilling, set V3_TASK_ID per task focus
export V3_TASK_ID=T-01

# 4. Every subsequent tool call writes evidence linked to this spec.
#    Check it:
jq -c '. | select(.spec_id != null)' .ai/evidence.jsonl | tail -3

4. Reading the Stop hook recap

After each rule-applied turn, you'll see an italic-gray line like:

โŽฟ Stop says: ๐Ÿ›ก๏ธ Scope rules V3 โ€” Think-Before-Coding โœ“, Deep-Diagnosis โœ“, Surgical-Changes โœ“, Karpathy โœ“, Goal-Driven โœ“

Interpret it as a positive ledger โ€” the more โœ“'s, the more V3 rules engaged this turn. Zero indicators (no recap line) means a trivial turn that did not need rule enforcement (Karpathy Simplicity โ€” no noise for typos / formatting / chat).

For project-name dynamic prefix:

  • ๐Ÿ›ก๏ธ <basename(cwd)> V3 is emitted via basename "$cwd" so every project gets its own label

5. Common-task playbooks

A. "Make Claude verify a fact before stating it"

Just include verify or check in your prompt. The hook injects the evidence-required scaffold. Claude must:

  1. Identify the exact claim
  2. Identify the source/tool that can verify it (curl/Read/WebFetch/gh/npm view)
  3. Run the tool
  4. Cite the raw output
  5. Only then state the claim

If Claude tries to assert without running the tool, the Stop gate (check 1 โ€” fact firewall) blocks the final answer.

B. "Make Claude give a deep root-cause analysis, not a surface patch"

Include debug, root cause, why, or ไธบไป€ไนˆ. The Stop gate (check 5 โ€” debug ladder) requires L0โ€“L4 structure in the answer: Evidence / Symptom / Root cause / Mechanism gap / Prevention. Missing any โ†’ blocked.

C. "Make Claude refuse to claim completion without running tests"

The Stop gate (check 2 โ€” completion claim) blocks any final answer containing done / fixed / verified / working / tests passed / ๅทฒๅฎŒๆˆ / ๅทฒไฟฎๅค / ๅทฒ้ชŒ่ฏ unless the evidence ledger contains a recent claim_type:"test" entry. You don't have to do anything โ€” it's automatic.

D. "Make Claude avoid persona prompting"

Just don't write "you are a senior engineer". V3.19' added a 1-line ban in core.md ยง2 based on Wharton GAIL 2025-12. Use role + authority + checklist + output schema instead:

role: code-reviewer
authority: block merge on Blocking finding
checklist:
  - No new untested branch in src/payments/**
  - No public-API change without ADR link
output_schema: review-report-v1

E. "Make Claude track failure categories in postmortems"

Reference the V3.19' R/Q/S taxonomy in L3 (mechanism gap):

L3 Mechanism gap: QUALITY-MISSING-EDGE-CASE โ€” autonomous-loop entry was not covered by the keyword router
L4 Prevention: add fallback `else echo "[no-match silent]"` + unit case '$PROMPT="" โ†’ silent'

Full 14-class taxonomy (4 Reliability + 5 Quality + 5 Safety) lives in ~/.claude/rules/deep-diagnosis.md appendix.

6. Observe + measure your usage

# Real-time routing stats (current session-style)
tail -100 ~/.claude/audit/user-prompt.log | awk -F'matched_index=' '{print $2}' | sort | uniq -c | sort -rn

# Which specs have evidence entries in this project?
jq -r 'select(.spec_id != null) | .spec_id' "$PWD/.ai/evidence.jsonl" | sort | uniq -c

# 7 / 30 / 90-day V3.19' usage report
bash ~/.claude/scripts/integration-usage-report.sh 7
bash ~/.claude/scripts/integration-usage-report.sh 30
bash ~/.claude/scripts/integration-usage-report.sh 90

# How often did R/Q/S taxonomy actually surface in conversations?
grep -rcE "RELIABILITY-|QUALITY-|SAFETY-" ~/.claude/sessions/*.jsonl 2>/dev/null | awk -F: '$2 > 0' | wc -l

Health baselines (ADR-0013 soft 30-day gate):

  • Week 4: bash integration-usage-report.sh 30 โ†’ โ‰ฅ3 invocations per component = KEEP; 0 = MONITOR / REMOVE
  • Maintainer (you) decides; the script never auto-deletes

7. Anti-patterns to avoid

โŒ Anti-pattern Why it hurts โœ… Replacement
Saying "you are a senior X expert" Wharton GAIL 2025-12: low-knowledge persona harms coding tasks role + authority + checklist + output_schema
Asking Claude to fix without writing what's wrong Stop hook check 5 will block surface fixes include debug/root cause in prompt; let L0โ€“L4 scaffold engage
Loading every component into every session ETH 2602.11988: long always-on instructions degrade success rate rely on keyword routing โ€” components are signal-gated
Hardcoding V3_SPEC_ID="S-some-spec" in .envrc Stale on feature rotation use the ls -dt dynamic discovery template above
Tracking "looks good" without rubric violates Karpathy Goal-Driven translate to scorable rubric (see ~/.claude/templates/ai-spec/grilling.md Step 3)
Running 30-day report every week Noise, no signal Week 4 / 8 / 12 (3 data points trend-suffice)

8. When not to use V3 signals

  • Trivial typo / formatting fix โ†’ don't add any signal verb (hook stays silent, zero overhead)
  • Conversational Q&A โ†’ no signal needed
  • Reading code / exploration โ†’ no signal needed

V3 is designed to disappear for low-stakes work. The signals only fire when the prompt explicitly invites them.


๐Ÿ“– Detailed usage guide

Architecture (11 layers, top-down)

Layer Purpose Component
L0 Shared policy source ~/.ai-policies/core.md
L1 User-level entry ~/.claude/CLAUDE.md (โ‰ค 120 lines) + 18 modular rules
L2 Per-prompt context injection user-prompt-policy.sh (8 trigger patterns, folded V3.19' routing)
L3 Tool evidence ledger post-tool-evidence.sh โ†’ {cwd}/.ai/evidence.jsonl (+ V3.19' spec_id/task_id/context_manifest_hash)
L4 Final answer hard gate stop-quality-gate.sh (7 numbered quality checks + spec archive guard + retired-recap drift guard; recap emitter is non-blocking transparency)
L5 User-level skills 5 skills with progressive disclosure
L6 Config integrity guard config-integrity-guard.sh + config-change-audit.sh
L7 Managed policy (optional, enterprise) /Library/Application Support/ClaudeCode/managed-settings.d/
L8 Project H10-H13 gates (per-project) gates/H*.py (deterministic UI semantic gates)
L9 Spec-Driven external memory <project>/.ai/specs/{in-progress,plans-executed}/ + V3.19' templates
L10 User-visible banner / Stop recap (V3.10 โ†’ V3.18.x) session-start-policy.sh + JSON systemMessage field
L11 Reference-driven debug methodology (V3.11) ADR-0005

See EVIDENCE-FIRST-OS-COMPLETE-SPEC.md for the full 22-section spec including ETH 2026 research grounding, Karpathy-aligned rule integration, Matt Pocock skill mapping, the V3.2 โ†’ V3.11 9-iteration retrospective, and V3.18.x โ†’ V3.19' arbitration trails.

๐Ÿ›๏ธ Architecture governance track (SoR spine, reverse-coverage gate, Wave-0 closure): see docs/governance/README.md โ€” status board, read order, and how-to for new modules/docs.

Per-component walkthrough

V3 baseline (always-loaded)

  • Iron Law (L0) โ€” 5-step claim protocol, hedge-word firewall, L0โ€“L4 diagnosis ladder, completion-claim gate, compaction resilience
  • Rules (L1) โ€” think-before-coding / simplicity-first / surgical-changes / deep-diagnosis / goal-driven / evidence-first / completion-gate / + others (coding-style, autonomous-mode, fail-loud, checkpoint-steps, etc.; V3.23 โ€” testing/security/patterns process detail moved to on-demand playbooks; full list: templates/claude/rules/)

V3.19' VCOS-v2 selective import (signal-gated; cost only when invoked)

ID Component Trigger Effect
P1 EARS requirements template spec / ้œ€ๆฑ‚ / requirements Hook emits pointer to ~/.claude/templates/ai-spec/spec.md โ€” 5 EARS patterns (Ubiquitous / Event-driven / State-driven / Unwanted / Optional)
P2 Persona-ban always-loaded (1 line in core.md ยง2) Discourages "you are senior X" prompts; recommends role+authority+checklist
P3 Ledger 3 fields env-gated via .envrc spec_id / task_id / context_manifest_hash appended to evidence.jsonl entries when env vars present
R1 Grilling 8-field intake spec / grilling (shares P1 trigger) Hook points to ~/.claude/templates/ai-spec/grilling.md โ€” Goal/Context/Users/Non-goals/Risks/Constraints/Done-when/Success-metric
R2 14-class R/Q/S taxonomy passive (in deep-diagnosis.md appendix) 4 Reliability + 5 Quality + 5 Safety failure categories for L3 mechanism-gap classification
โ€” Soft 30-day gate bash ~/.claude/scripts/integration-usage-report.sh N Maintainer report; no runtime self-mutation

See docs/adr/0013-v3-19-vcos-v2-selective-import.md for the 2-round 3-่ง†่ง’ arbitration trail.

Spec lifecycle (V3 ยง17)

.ai/specs/
โ”œโ”€โ”€ in-progress/              # active work; .envrc auto-discovers most-recent
โ”‚   โ””โ”€โ”€ <feature>/
โ”‚       โ”œโ”€โ”€ grilling.md       # 8-field intake (filled first)
โ”‚       โ”œโ”€โ”€ spec.md           # EARS R-1...R-N + non-goals + success metrics
โ”‚       โ”œโ”€โ”€ plan.md           # 9-section plan (per VCOS-v2 ยง3.2)
โ”‚       โ””โ”€โ”€ tasks.md          # TDD redโ†’green checklist
โ””โ”€โ”€ plans-executed/           # archived after ship; preserves provenance
    โ””โ”€โ”€ <feature>/...

Move spec on ship: mv .ai/specs/in-progress/<feature> .ai/specs/plans-executed/

Evidence ledger schema (V3.19')

Each .ai/evidence.jsonl line:

{
  "ts": "2026-05-19T05:03:36Z",
  "session_id": "abc-123",
  "cwd": "/path/to/project",
  "tool": "Bash",
  "claim_type": "test",        // auto: web|file|test|package|repo|unknown
  "raw_ref": "toolu_xxx",
  "spec_id": "v3-19-vcos-selective-import",       // V3.19' P3 (optional)
  "task_id": "T-06",                              // V3.19' P3 (optional)
  "context_manifest_hash": "ff81667"              // V3.19' P3 (optional; git short SHA)
}

Last 3 fields appear only when env vars are set (via .envrc or manual export).


๐Ÿ” Troubleshooting

Symptom Likely cause Fix
No Stop says: recap line No V3 rule indicator detected in your turn Add a signal verb (see ยง1) or accept silent (trivial turn)
Stop hook blocks "done" without test check 2 โ€” completion gate Run npm test / bash verify.sh first, then state the completion
V3_SPEC_ID=unset .ai/specs/in-progress/ is empty Create one: mkdir -p .ai/specs/in-progress/my-feature && source .envrc
Project docs drift README / ARCHITECTURE / CHANGELOG / banner / CI disagree with hook SoT Run bash scripts/doctor.sh; it is also part of bash verify.sh
Banner not visible after /clear Plugin hook order or claude-mem absent tail -10 ~/.claude/audit/session-start.log โ€” confirm hook fired
Audit log spam Default โ€” every prompt classification logs once truncate -s 0 ~/.claude/audit/user-prompt.log

Non-goals

  • Not a new IDE, agent runtime, or autonomous coding product.
  • Not a portable policy compiler until the Claude/Codex SoT is stable.
  • Not compliance-grade claim/evidence attestation yet; the current ledger is a developer quality gate, not a regulated audit model.
  • Not market-validated by public adoption while the repository remains private.

๐Ÿ“ Project structure

evidence-first-os/
โ”œโ”€โ”€ README.md                            # this file
โ”œโ”€โ”€ CLAUDE.md                            # project-level V3 pointer
โ”œโ”€โ”€ .envrc                               # P3 env auto-export (direnv-compatible)
โ”œโ”€โ”€ install.sh                           # one-click installer (merge-preserve default)
โ”œโ”€โ”€ uninstall.sh                         # rollback (preserves backups)
โ”œโ”€โ”€ verify.sh                            # ยง9 smoke test harness
โ”œโ”€โ”€ LICENSE                              # MIT
โ”œโ”€โ”€ CHANGELOG.md                         # V3.1 โ†’ current rollout history
โ”œโ”€โ”€ EVIDENCE-FIRST-OS-COMPLETE-SPEC.md   # 22-section authoritative spec
โ”œโ”€โ”€ templates/
โ”‚   โ”œโ”€โ”€ ai-policies/core.md              # L0 Iron Law (+ V3.19' persona ban)
โ”‚   โ”œโ”€โ”€ claude/
โ”‚   โ”‚   โ”œโ”€โ”€ CLAUDE.md                    # L1 user-level entry
โ”‚   โ”‚   โ”œโ”€โ”€ rules/                       # 18 modular rules (+ V3.19' R/Q/S appendix)
โ”‚   โ”‚   โ”œโ”€โ”€ playbooks/                   # V3.23 on-demand process manuals (+ profiles/ ร—4)
โ”‚   โ”‚   โ”œโ”€โ”€ RULES-ARCHITECTURE.md        # V3.23 layered rules architecture SSOT
โ”‚   โ”‚   โ”œโ”€โ”€ hooks/                       # 8 Claude hook scripts (+ V3.19' folded routing)
โ”‚   โ”‚   โ”œโ”€โ”€ templates/
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ banner-v3.txt            # V3.10 banner content
โ”‚   โ”‚   โ”‚   โ””โ”€โ”€ ai-spec/                 # V3.19' EARS + grilling templates
โ”‚   โ”‚   โ””โ”€โ”€ scripts/
โ”‚   โ”‚       โ””โ”€โ”€ integration-usage-report.sh   # V3.19' 30-day soft gate
โ”‚   โ”œโ”€โ”€ codex/                           # Codex parallel install (AGENTS.md + 3 hooks)
โ”‚   โ””โ”€โ”€ settings/                        # claude-hooks.json / codex-hooks.json templates
โ”œโ”€โ”€ scripts/
โ”‚   โ””โ”€โ”€ merge-settings.py                # idempotent jq-style settings merger
โ”œโ”€โ”€ docs/
โ”‚   โ”œโ”€โ”€ quickstart.md                    # copy-paste onboarding prompts
โ”‚   โ”œโ”€โ”€ ARCHITECTURE.md                  # detailed layer-by-layer walkthrough
โ”‚   โ”œโ”€โ”€ deployment-guide.md              # platform-specific notes
โ”‚   โ”œโ”€โ”€ adr/                             # ADR-0002 to ADR-0014 (architectural decisions)
โ”‚   โ””โ”€โ”€ archive/                         # V1/V2 HTML + V3 banner retrospective (frozen)
โ”œโ”€โ”€ VCOS-v2-Release/                     # VCOS v2.0 source-of-record bundle (per ADR-0013)
โ””โ”€โ”€ .github/workflows/ci.yml             # GitHub Actions smoke test

Project status (2026-05-23)

  • V3.22.0 โ€” banner trim + active-rule overview + integrity repair track
  • 13 ADRs capturing architectural decisions through ADR-0013
  • 11-layer defense-in-depth + 7 numbered quality checks + spec archive guard + retired-recap drift guard active
  • Current product wedge: completion-claim gate for Claude Code and Codex; other platform exports are deferred until the SoT is stable

License

MIT โ€” see LICENSE. Cite the spec and ETH Zurich 2026 paper if you use this work academically.

Acknowledgements

  • ETH Zurich + LogicStar.ai 2026 (arXiv:2602.11988) โ€” empirical foundation
  • Karpathy's 4 LLM coding principles
  • Matt Pocock's skills ecosystem (mattpocock/skills)
  • obra-superpowers systematic-debugging skill (preserved via ADR-0004)
  • claude-mem (thedotmack) โ€” reference implementation that enabled V3.10 root cause via direct jsonl diff (ADR-0005)
  • VCOS v2.0 spec authors โ€” selective-import source-of-record for V3.19' (ADR-0013)
  • Wharton GAIL 2025-12 (arXiv:2512.05858) โ€” persona-stuffing empirical critique
  • METR 2025-07 (arXiv:2507.09089) โ€” AI productivity reality check (-19% measured)
  • DORA 2025 โ€” "AI is an amplifier, not an equalizer"

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

omc_os-0.3.5.tar.gz (225.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

omc_os-0.3.5-py3-none-any.whl (245.9 kB view details)

Uploaded Python 3

File details

Details for the file omc_os-0.3.5.tar.gz.

File metadata

  • Download URL: omc_os-0.3.5.tar.gz
  • Upload date:
  • Size: 225.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.8

File hashes

Hashes for omc_os-0.3.5.tar.gz
Algorithm Hash digest
SHA256 664d90a916fddf98e07681f90fe9926ca5ffaee30279cca5174f679bb583cfbc
MD5 bc2a9532fb8baac9762938989c067943
BLAKE2b-256 f10c38b6c8a5074dc87496e8866c6d8ae3227bc48d29a8cea40dabbf1c7bea29

See more details on using hashes here.

File details

Details for the file omc_os-0.3.5-py3-none-any.whl.

File metadata

  • Download URL: omc_os-0.3.5-py3-none-any.whl
  • Upload date:
  • Size: 245.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.8

File hashes

Hashes for omc_os-0.3.5-py3-none-any.whl
Algorithm Hash digest
SHA256 178c64e0dbf4e961c8a850fef26c799caaf2417ad188eed40ec1af551d6f24d8
MD5 05fa08a90456888d36d085af4a0716d4
BLAKE2b-256 e5692e3e1b178a01762cce2e1b5ca270813059b373b180f1a2e2f64300b49c70

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page