Standardized YAML frontmatter on all 115 sprint briefing files across sprints 1-26 with title, description, type, status, sprint number, and team fields. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
3.3 KiB
title, description, type, status, sprint, team
| title | description | type | status | sprint | team |
|---|---|---|---|---|---|
| Sprint 5 — CI Briefing | Pre-commit FactId typo check validation hook | sprint | archived | 5 | ci |
Sprint 5: Live — CI Tasks
Goal: Content at scale — FRIEND packs, PC-as-NPC authoring, NPC style guide
Branch: ci
Agents: Justine (CI/CD lead)
New Tickets
| # | Title | Blocked by |
|---|---|---|
| #393 | Pre-commit FactId typo check | — |
Use db/connectors/ticket show <id> for full details.
Key Decisions
decisions/content.md— D-035 (tag taxonomy with FactId references)decisions/architecture.md— D-030 (testability architecture)
Notes
#393: Pre-commit FactId typo check
What exists:
- Content directory structure at
content/ - YAML schema files in
content/_schema/ - Canonical facts defined in global knowledge files (check
content/global/knowledge/) make validate-contentCLI from Sprint 4 (#392)- Pre-commit hooks infrastructure at
.config/pre-commit/or similar
What to deliver:
- Grep-based pre-commit check validating FactId references in YAML content files against canonical facts.yaml
- Cheap v0.1 bridge until full cross-reference validation lands in later sprint
- Should catch typos like
npc_identity.kael_davan.occupationvsnpc_identity.kael_davan.jobbefore commit
Implementation approach:
- Extract canonical FactId list from global knowledge YAML files
- Extract all FactId references from campaign content YAML files
- Compare: flag any referenced FactId that doesn't exist in canonical list
- Hook into pre-commit (runs before git commit, fails if violations found)
File location:
- Script:
.config/pre-commit/check-fact-ids.shortooling/lint/check-fact-ids.py - Configuration:
.pre-commit-config.yaml(if using pre-commit framework) or.git/hooks/pre-commit
Performance constraint: Must run fast (<2 seconds) — content authors will run this on every commit. Grep-based approach should be sufficient for v0.1 scale (~hundreds of facts, ~tens of content files).
Integration: Coordinate with copy team (Mellanie, Paula) on FactId naming conventions. Review content/global/knowledge/entity-attributes.yaml and similar files for canonical fact definitions.
Gotcha: Some FactIds might be templated or dynamic (role-based, not hardcoded). Check with content team on how to handle template slots like {role}.occupation.
Test plan:
- Create test content file with valid FactId → pre-commit passes
- Create test content file with typo FactId → pre-commit fails with clear error
- Fix typo → pre-commit passes
Sprint Success Criteria
By end of Sprint 5, CI team delivers:
- FactId typo check — pre-commit hook operational, tested, documented
- Integration with content workflow — copy team uses check during FRIEND pack authoring
This is a single-ticket sprint for CI. Goal is content quality assurance — prevent FactId typos from reaching main branch during heavy content authoring sprint.
PR Workflow
When ready to submit, create a PR with tea CLI:
tea pr create \
--repo jpmschweitzer/settled-reach \
--login schweitz \
--title "feat(ci): pre-commit FactId validation" \
--description "Sprint 5 CI delivery - see docs/sprints/sprint-5/ci.md" \
--base main \
--head ci