Standards
Standards, projected from standard entities. Edit a standard entity and regenerate.
| Id | Title | Summary |
|---|---|---|
| Applications consume the substrate only through published surfaces | Applications consume the substrate only through published surfaces | - Application code under apps/ and shared libraries under packages/<ecosystem>/ reach SDLC capability only through a published surface — the sdlc CLI, a service’s HTTP/JSON API, or an API library (generated or explicitly authored) in packages/<ecosystem>/ — never by importing the substrate (solutions/ontological/lib/, later src/) directly. The dependency arrow points inward, never outward into a harness, and never down into a domain from a domain-blind component. |
| Capabilities are born in lib; co-locate only skill glue | Capabilities are born in lib; co-locate only skill glue | - A capability — entity CRUD, policy checks, audits, anything general by nature — is born in solutions/ontological/lib regardless of caller count; only skill-specific glue co-locates with its skill, promoted to a shared home when a second real caller appears. |
| Composition spectrum — one op registry, deterministic-to-LLM placement, path[] surface | Composition spectrum — one op registry, deterministic-to-LLM placement, path[] surface | - Build every capability on a spectrum from pure-deterministic to near-pure-skill: place it at the leftmost point that fits, and favor moving left as it matures ([[P-0001-prefer-deterministic-over-llm]]). The deterministic-tail / LLM-head split is one point on that spectrum, not the only shape. The sdlc CLI is one generated adapter over a single op registry. Deliberate, bounded child-LLM steps are legitimate (with guardrails); only redundant re-interpretation of the same input is discouraged. |
| Deterministic, general extension points | Deterministic, general extension points | - Upstream skills expose stable, general hook points but never know this repo’s SDLC shape; move stable prose into deterministic code and plug local behavior into the same extension system a downstream consumer would use. |
| General skills stay general — no SDLC-project carve-outs in upstream code | General skills stay general — no SDLC-project carve-outs in upstream code | - A change under solutions/ontological/ must help any consuming project, not just this dev repo; SDLC-only carve-outs live under .sdlc/. |
| Markdown formatting for docs and skill prose | Markdown formatting for docs and skill prose | - Markdown in scope follows one settled formatting rule set — ATX headings, - bullets, explicit numbering, wikilinks for entities, language-tagged fences, hand-formatted tables, quoted-schema_version frontmatter, no raw HTML, prose wrapped at 100 — chosen for Obsidian-first authoring in [[D-0008-markdown-standard]]. |
| Moon project ids — derive by default; the crate holds the bare name | Moon project ids — derive by default; the crate holds the bare name | - Moon resolves a project by two names: an id (directory name, or explicit id:) and an alias taken from the manifest — Cargo.toml’s package name for Rust, package.json’s for JS/TS. Both work in moon run. |
| UI surfaces consume the Determined design language | UI surfaces consume the Determined design language | - Every live UI surface styles itself through the Determined design language: --d-* tokens, dSemantics intents, and D* components — never raw palette classes, dark: variants, or Nuxt UI color/variant literals. |
Emerging / retired:
| Id | Title | Summary | Status |
|---|---|---|---|
| Authoring SKILL.md: direct instruction, equipped for reliability | Authoring SKILL.md: direct instruction, equipped for reliability | - A SKILL.md is the instruction an agent executes, not documentation about the skill — and its reliability comes from how it is phrased and how it is built. Phrase each line as direct, positive instruction with surgical rationale; equip the skill with a triggering description, freedom matched to fragility, decomposed steps with a verification step, progressive disclosure, tested formatting, examples where output matters, and an eval. Every rule carries the evidence tier it rests on. | open/draft |
| Every entity ships a complete definition surface | Every entity ships a complete definition surface | - Every entity directory ships a fixed surface — schema.ts (the Zod frontmatter schema AND the markdown-contract body grammar, exported together), body-template.eta, definition.md, plus the optional obsidian-index.yaml — and is discoverable by its type: directory name, registration in the entity schema registry, and a [[D-ORMG-data-model]] entry. | open/draft |