package for building source-cited,
compounding Obsidian knowledge bases. It also ships a Claude Code plugin adapter.
The portable workflow is implemented in `skills/` and the standard-library
`claude_obsidian
need to run every lane separately first. Reuse passing results for unchanged code; rerun or broaden checks when subsequent edits, failures, or unresolved risks warrant it.
- Required PR checks must
Protected APIs exist** — changes to LLM API signatures will fail `tests/unittest/api_stability` tests. Get code owner review.
- **Integration tests need GPUs + models** — always set `LLM_MODELS_ROOT` and ensure GPU access
error -- and the corruption appears
in whatever code runs next, not at the mismatch.
## High-risk changes
Use extra review and tests for changes involving:
- destructor, `shutdown()`, `close()`, tree detachment
Contributors are responsible for every change they submit, including agent-generated code.
They must understand the changes, review the diff, and verify the behavior before requesting
review.
- Ask for clarification
verification plan. Do not substitute a narrower test while claiming end-to-end coverage.
## Codereviews
- Review for correctness before style. Trace the changed behavior through its callers, shared state
returning `Task`/`ValueTask` must use the `Async` suffix.
## Key Design Principles
When developing or reviewingcode, verify adherence to these key design principles:
- **DRY**: Avoid code duplication by moving common
migration/ # Migration guides (do not restructure)
├── semantic-kernel-migration/
└── _to_delete/ # Old samples awaiting review
```
Durable Task and Azure Functions samples are maintained in the [Durable Agent Framework extension
Repository guidance
## Backend code
For every task that creates, modifies, refactors, or reviews backend code under `server/`, load and follow `$backend-module-standards` from `.agents/skills/backend-module-standards/SKILL.md`. Apply it only to backend
when one exists — `createHash` over `Bun.CryptoHasher`, `prepare()` over bun:sqlite's `query()` — as that code also ships through `script/build-node.ts` and must run on plain Node
- Bun-only calls in core
setup, PR submission, or understanding review process |
| [`INTEGRATION_TESTS.md`](./INTEGRATION_TESTS.md) | Human reference | Integration test deep-dive | When writing, running, or debugging integration tests |
All code is TypeScript compiled via [jsii
AGENTS.md
Operational guidance for coding agents working in this repository. Keep changes small, match the current rewrite architecture, and prefer the documented daemon/API boundaries over behavior from the old TypeScript
Fixes**: only via PR with human review; `minimal-fix` + `loop-verifier` for assisted changes (L2).
- **Isolation**: use git worktrees for any unattended code-change experiments (see `LOOP.md`).
## Test commands
This
custom-code guidance](scripts/castiron/CUSTOM_CODE.md). Budget changes
belong in a separate PR containing only `.castiron-ratchet.json`, with an explicit justification
in the PR description. Increases require a **human approving review** before merging
compute with Gradio Spaces and Hugging Face Spaces ZeroGPU. Use when writing or reviewingcode that uses `@spaces.GPU`, configuring `python_version` or `requirements.txt` for a ZeroGPU Space, or handling ZeroGPU
www.conventionalcommits.org/) specification. See also [CONTRIBUTING.md](./CONTRIBUTING.md#making-commits).
## 4. Code Quality & Verification
### 4.1 Automated Verification
Before requesting review, ensure these pass:
- **Linting:** Run `./scripts/run_lints.sh` and resolve all warnings
task.
- When answering questions, respond with high-confidence answers only: verify in code; do not guess.
- Do not update dependencies casually. Version bumps, patched dependencies, overrides, or vendored dependency changes
over a shared `core/`.
**This file holds the _rules_: the conventions a reviewer cites against a diff.**
It is loaded in full on every turn, so it stays resident