4.5 KiB
4.5 KiB
POM 2 Documentation
Welcome to the POM 2 documentation. This site is the single source of truth for operators, contributors, and architects.
Quick navigation
| Audience | Entry points |
|---|---|
| Operator | Install & verify · Production loop · Command map · Settings |
| Contributor | AGENTS.md · Architecture · Tool Matrix · Development |
| Architect | Architecture · POM.yml · Ownership · Boundary |
| Release / Audit | Inventory · Audit · Design review · Official sources · Verification |
| Project vault | Vault shape · Repository vs vault boundary |
| Agent / Quick-ref | Commands · Workflow · Artifacts · Tool routing · QA · UI |
Full sidebar: navigation.
What is POM 2?
POM 2 is an Oh My Pi (OMP) extension that governs long-form creative production with evidence-gated stages, canonical artifacts, prompt provenance, deterministic validation, Git checkpoints, and an Obsidian/Quartz-compatible knowledge base.
- Package:
@jamminrebel/pom-omp2.0.0 (MIT, ESM) - Peer requirements:
@oh-my-pi/pi-coding-agent,@oh-my-pi/pi-tui,@oh-my-pi/pi-utils>=16.4.6 <17 - Host runtime: Bun
>=1.3.14 - Local scripts: Node 22+ / npm / tsx / tsc
Repository structure
pom-omp/
├── src/ # 25 TypeScript modules (no build step)
├── tests/ # 8 test files, Node test runner
├── scripts/ # verify.mjs, check-docs.mjs, release-manifest.mjs, smoke.ts
├── docs/ # This documentation
├── agents/ # 14 pom-* task agent definitions
├── prompts/ # 13 prompt fragments (bundled + project overrides)
├── rules/ # 3 scoped production rules
├── skills/pom/ # POM skill + 9 reference documents
├── themes/ # pom-nocturne (dark), pom-parchment (light)
├── config/ # OMP host config, POM defaults, MCP example
├── README.md # Operator landing page
├── POM.yml # Human-facing project manifest
├── AGENTS.md # Contributor guide + discrepancy ledger
├── CHANGELOG.md # Release history
├── RELEASE.json # Generated release manifest
├── package.json # Package metadata + scripts
└── tsconfig.json # Strict TS config (src/**/*.ts only)
Documentation principles
- Source beats docs. Every mirrored fact cites its canonical owner in
src/,scripts/, orpackage.json. Narrative docs must not introduce independent variants. See ownership. - Audience separation. Operator flows in README; deep reference in
docs/; agent-facing quick refs inskills/pom/references/; human manifest inPOM.yml. - Release honesty.
RELEASE.jsonverification fields are evidence-bound objects carrying a status of PASS, FAIL, NOT RUN, or BLOCKED. Hard-coded PASS strings are prohibited and rejected by the documentation checks. - Generated versus repository. This wiki describes the extension. Generated project vaults live under a project's
content/and are a separate branch. See boundary and vault shape.
Verification status
Overall readiness is PARTIAL. npm run smoke, npm run release:check, and the state test pass; the full npm run verify gate is blocked by an npm registry outage that left node_modules incomplete. See verification and the README verification section for exact detail.
Contributing
Read AGENTS.md for code conventions, testing patterns, and governance invariants. Key rules:
- No
dist/or generated caches in source - Extensionless relative imports (
./state, not./state.ts) - Throw
Errorfor precondition/schema/config violations; tool failures useisError: true - Three runtime dependencies only:
crc-32,yauzl,yazl - Run
npm run verifybefore packaging or linking