Files
ai-resume/test/fixtures/ok-block-scalars/content/about/background.md
Sam Rolfe 0eb151117e Phase 1a: content schema validator (freeze the schema)
Implements AGENTS.md section 7 front-matter schema as a single-file,
standard-library-only Python validator; no third-party YAML dependency
and no framework. Adds the `make validate` gate, a 20-case fixture set
and docs/content-schema.md.

DoD satisfied:
- make validate runs and exits 0 on an empty/clean content/ tree
  (missing dir and empty dir both exit 0; fixture ok-empty covers it).
- Every violation class has a fixture under test/fixtures/fail-*; each
  exits non-zero with one line per violation (file:line: field: rule).
  `make test` runs all 20 cases: 20/20 pass.
- Dangling artefact reference is fatal (fail-dangling-artefact;
  artefacts[].url must resolve to an existing in-repo L3 stub or asset).
- Unknown front-matter field is fatal (fail-unknown-field), including
  unknown keys nested inside artefacts[]/metrics[].
- docs/content-schema.md committed; states the frozen schema, links to
  AGENTS.md section 7, and records that any later schema change is a
  breaking change requiring Sam's approval.
- Scope respected: no content authored, no rendering, no site code.

Files: Makefile, tools/validate_content.py, test/fixtures/**,
docs/content-schema.md, .gitignore (__pycache__).
2026-10-26 17:26:00 +11:00

26 lines
427 B
Markdown

---
# a leading comment is allowed
id: background
area: about
level: 1
title: >-
Twenty-five years of delivery
claim: |
Shipped software since 2000.
Now agent systems and the platform under them.
confidence: delivered
period: "2000-"
tech:
- "NixOS"
- 'Golang'
metrics:
- label: years
value: 25
artefacts: []
public: true
last_verified: 2026-10-20
tags: [narrative, career]
---
# Twenty-five years of delivery