obsidian_vault_pipeline
AGENTS.md165 starsChanged 4 months agoApache-2.0View on GitHub
This branch is the Rust OVP Next trunk. The repository root is the Rust workspace root. Expected root layout: There should be no nested rust/ovp2/ project and no root src/ovp_pipeline/, pyproject.toml, requirements.txt, or MANIFEST.in. Run from the repository root: Use rg for searches. Prefer git mv and git rm for structural edits so migrations remain auditable. Derived state must stay rebuildable from Rust code and committed fixtures/contracts. Historical legacy alignment docs can be used as behavioral context, not as runtime…
- Reads credentials
Where files are headingNew AGENTS.md files have more rules about keeping secrets out of the code, and fewer about code style.
Of the AGENTS.md files we read, the 31,542 first seen in the last six months, against the older ones: the kind of rule that gained most share, and the kind that lost most. About files like this in general, not this one, and an estimate, since a kind is a pattern in the words.
In this repository10 other files it gives its agents.
- CLAUDE.mdCLAUDE.md
- askSkill
- capture-dropSkill
- claimSkill
- doctorSkill
- findSkill
- searchSkill
- statusSkill
- theme-pageSkill
- when-to-consultSkill
The file
We split this AGENTS.md into the rules it gives an agent
12 rules. About 1 is common, 4 are distinctive, and 7 are very specific to this project.
≈1
Common · estimate
Many files like this have a rule of this kind.
≈4
Distinctive · estimate
This author's own choices. Worth a look.
7
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- could be automatic: a setting could enforce it
- Distinctive: line 10
Do not infer current architecture from Python-era files, old vault templates, or legacy product docs.
- Distinctive: line 11
Do not reintroduce a Python pipeline, Python package metadata, or Python CLI wrappers unless the user explicitly requests a migration …
- Distinctive: line 34
Run from the repository root:
- Very specific: line 43
Use rg for searches. Prefer git mv and git rm for structural edits so migrations remain auditable.
- Common: line 58
Do not commit local scratch, live outputs, credentials, or raw evaluation data:
- Distinctive: line 72
When modifying LLM prompt templates or pipeline behavior:
- Very specific: line 74
Write a Candidate Spec (evolution/candidates/<id>.json) BEFORE editing
- Very specific: line 77
Run ovp2 evolve validate --candidate <spec> to confirm spec validity
- Very specific: line 78
Run ovp2 evolve ab --candidate <spec> to generate paired comparison (Phase 2+)
- Very specific: line 118
Search Before Propose: Always run work_search to prevent duplicate nodes.
- Very specific: line 120
Claim-Driven Execution: Run work_claim to lease a task before writing code.
- Very specific: line 140
When a research conclusion rests on an OVP source, the Involute item cites ovp://source/<sha256> — the URI our own tools emit, so every …
≈ “Common” is an estimate: at least 1 in 5 of the 40,246 AGENTS.md files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
AGENTS.md - OVP Next Rust Trunk
This branch is the Rust OVP Next trunk. The repository root is the Rust workspace root.
Source Of Truth
- Build and architecture decisions must start from the Rust crates under
crates/. Cargo.toml,Cargo.lock,crates/,fixtures/,manifests/,scripts/, and Rust-focuseddocs/are the current implementation surface.- The legacy Python implementation has been removed from this branch's tracked working tree.
- Do not infer current architecture from Python-era files, old vault templates, or legacy product docs.
- Do not reintroduce a Python pipeline, Python package metadata, or Python CLI wrappers unless the user explicitly requests a migration helper script.
Repository Shape
Expected root layout:
Cargo.toml
Cargo.lock
crates/
docs/
fixtures/
manifests/
scripts/
README.md
.gitignore
AGENTS.mdThere should be no nested rust/ovp2/ project and no root src/ovp_pipeline/, pyproject.toml, requirements.txt, or MANIFEST.in.
Development Commands
Run from the repository root:
cargo metadata --no-deps --format-version 1
cargo test --workspace
cargo clippy --workspace --all-targets -- -D warnings
bash scripts/check_architecture.shUse rg for searches. Prefer git mv and git rm for structural edits so migrations remain auditable.
Architecture Boundaries
ovp-coreowns the sync kernel primitives.ovp-domainowns domain types, transforms, prompts, fixtures, and contract parsing.ovp-appowns manifest-based graph assembly.ovp-runowns the operational run cycle.ovp-query,ovp-lint,ovp-rag,ovp-auto,ovp-eval, andovp-revieware read, health, automation, comparison, and review layers around the run cycle.ovp-cliis a thin argument-parsing layer that delegates into the crates above.
Derived state must stay rebuildable from Rust code and committed fixtures/contracts. Historical legacy alignment docs can be used as behavioral context, not as runtime authority.
Data Hygiene
Do not commit local scratch, live outputs, credentials, or raw evaluation data:
.run/.env*- local tool state such as
.agents/,.gstack/,.supervisor/,.worktrees/ - untracked
docs/eval/,docs/superpowers/, or legacy report scratch - raw/live cassette captures unless the user explicitly asks to curate and commit them
Committed replay cassettes under crate tests are acceptable only when they are intentional frozen fixtures.
NEVER write intermediate or run artifacts (live-run outputs, cassettes, stores, work dirs) to /tmp — it is wiped on reboot and the evidence is lost. Put them under the gitignored .run/<milestone>/ in this repo (or the vault's .ovp/ when they belong to the operator vault) so they survive and stay auditable.
OVP Evolution Rules
When modifying LLM prompt templates or pipeline behavior:
- Write a Candidate Spec (
evolution/candidates/<id>.json) BEFORE editing - Identify the target Change Surface: prompt | parser | runtime | gate | model
- State a falsifiable hypothesis with predicted metric delta
- Run
ovp2 evolve validate --candidate <spec>to confirm spec validity - Run
ovp2 evolve ab --candidate <spec>to generate paired comparison (Phase 2+) - Accept only if hard gates pass and guardrails hold
- Record in Evolution Ledger with git SHA and rollback plan
- Bump the prompt namespace version constant after acceptance
Rules:
- One surface per candidate (no mixing prompt + parser changes)
- Hard gate: accepted_without_quote must remain 0
- Cassette replay is the source of truth for regression
- Prompt versions are monotonically increasing; never reuse a version number
- The
ovp-evolvecrate owns all evolution governance logic evolution/components.jsonis the component registry (validated at load time).ovp/evolution-ledger.jsonlis the append-only decision record
Involute Work-Graph Protocol
This repository is bound to the Involute Work-Graph Kernel for task tracking, milestone delivery, and auditable agent collaboration.
1. Project Binding
- Repository:
fakechris/obsidian_vault_pipeline - Team Key:
INV - Root Project Identifier:
INV-44 - Root Project UUID:
80a49a7a-8c38-4760-b563-d804fb07cd30 - Web UI: https://involute.lumenopen.com/
- Candidate Review Queue: https://involute.lumenopen.com/candidates?project=fakechris/obsidian_vault_pipeline
- Work Graph Observation: https://involute.lumenopen.com/graph
2. MCP Connection Configuration
| Agent Environment | MCP Endpoint URL | Notes |
| Remote / Developer Machine (Mac, Cursor, Codex, Claude Code) | https://involute.lumenopen.com/mcp (or /mcp/readonly) | Production HTTPS entry on oracle_5 |
| Local on Box (executing inside VPS host) | http://127.0.0.1:4200/mcp (or /mcp/readonly) | Only where the container port is mapped to host loopback |
- Auth Header:
Authorization: Bearer <AGENT_TOKEN>(inv_agent_...minted via Settings → Agents). - Security Rule: Tokens stay in agent secret store; NEVER commit tokens or write them to repository files.
3. Agent Operational Rules
- Search Before Propose: Always run
work_searchto prevent duplicate nodes. - Propose, Never Unilaterally Commit: Agents propose candidates via
work_propose; humans commit via Web UI or CLI. - Claim-Driven Execution: Run
work_claimto lease a task before writing code. - Report Runs with Evidence: Record progress via
run_report. On completion, attach durable evidence (commit SHA, test exit code, PR URL) viaevidence_attach. - In Review, Never Done: Agents transition tasks to
In Review. Moving work toDoneis strictly reserved for human review or verifiedCLEARauto-accept gate.
Cross-system references (INV-1434)
OVP turns outside information into knowledge. Our own conclusions and
decisions live in Involute; agent session evidence lives in planofplan
(decision INV-1433). Point between them with text references — OVP never
calls the other systems at runtime, and only clients (an agent, or recall)
resolve references, one hop at a time.
| Prefix | Owner | Resolve with |
ovp://source/<sha256> · ovp://claim/<claim_key> | OVP (this repo's MCP) | resources/read with the URI as is, or ovp_read_note / claim |
ovp://theme-page/<id> | OVP (this repo's MCP) | resources/read with the URI as is, or theme_page |
inv:INV-<n> | Involute (remote) | work_get_context |
pop:<session_id>#<message_id>@<revision> (planofplan's ids as is, e.g. pop:claude:agent-…) | planofplan (local) | read_session with the session_id unchanged for the full SourceRef, then read_message |
When a research conclusion rests on an OVP source, the Involute item cites
ovp://source/<sha256> — the URI our own tools emit, so every tool that
emits an ovp:// URI must keep resolving it. Cite a claim by claim_key
(ck-…), a reader pack by its reader.md path. Do not write the
conclusion into the vault. Full
format and rules: Involute docs/cross-system-refs.md.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

