Date: 2026-03-30 Author: Coordinator (AI) Status: 🟡 TS — waiting for approval Parent HL: HL-TFW-12 RES: RES-TFW-12
Centralize 4 categories of duplicated parameters into PROJECT_CONFIG.yaml as single source of truth:
tfw:
version: "0.5.0"
upstream: "https://github.com/saubakirov/trace-first-starter"
task_prefix: TFW
id_format: "{prefix}-{seq}"
initial_seq: 12
scope_budgets:
max_files_per_phase: 7
max_new_files: 4
max_loc: 600
max_modified_files: 6
templates:
hl: .tfw/templates/HL.md
ts: .tfw/templates/TS.md
res: .tfw/templates/RES.md
rf: .tfw/templates/RF.md
onb: .tfw/templates/ONB.md
review: .tfw/templates/REVIEW.md
knowledge: .tfw/templates/KNOWLEDGE.md
release: .tfw/templates/RELEASE.md
workflows:
plan: .tfw/workflows/plan.md
research: .tfw/workflows/research.md
handoff: .tfw/workflows/handoff.md
review: .tfw/workflows/review.md
resume: .tfw/workflows/resume.md
docs: .tfw/workflows/docs.md
release: .tfw/workflows/release.md
update: .tfw/workflows/update.md
research:
max_web_queries_per_stage: 5
max_files_per_stage: 15
max_questions_per_stage: 3
max_passes: 3
Readable table with values marked as defaults, header links to config.
> Scope budgets are configured in `.tfw/PROJECT_CONFIG.yaml` (`tfw.scope_budgets`).
> Values below are defaults.
| Parameter | Default | Rationale |
|-----------|---------|-----------|
| Files per phase | 7 | Agent maintains full mental model |
Subject to scope budgets (see `tfw.scope_budgets` in `.tfw/PROJECT_CONFIG.yaml`).
# TFW {version}
Resolved by init.md setup or tfw-update adapter refresh.
# TFW Conventions ← was: # TFW 0.4 — Conventions
# TFW Glossary ← was: # TFW 0.4 Glossary
| # | File | Changes |
|---|---|---|
| 1 | .tfw/PROJECT_CONFIG.yaml |
Add scope_budgets, complete templates (+res/knowledge/release), add workflows, add research |
| 2 | .tfw/conventions.md |
§6: Pattern A budgets. L1: remove version from title (Pattern D). Fix workflow table if needed |
| 3 | .tfw/README.md |
Scope Budgets section: Pattern A. Body: remove TFW 0.5 from prose. Tree comments: reference config for lists |
| 4 | .tfw/workflows/plan.md |
§Scope Budget: Pattern A |
| 5 | .tfw/glossary.md |
L1: remove version (Pattern D). L69: Pattern B for budget values |
| 6 | .tfw/templates/TS.md |
L27: Pattern B for budget values |
| 7 | README.md (root) |
Budget reference → “see PROJECT_CONFIG”. Version → “see .tfw/VERSION” |
Budget: 0 new, 7 modified ✅
| # | File | Changes |
|---|---|---|
| 8 | .tfw/adapters/claude-code/CLAUDE.md.template |
TFW 0.5 → TFW {version}. Template/workflow lists → reference config |
| 9 | .tfw/adapters/cursor/tfw.mdc.template |
TFW 0.5 → TFW {version}. Lists → reference config |
| 10 | .tfw/adapters/antigravity/tfw-rules.md.template |
TFW 0.5 → TFW {version}. Lists → reference config |
| 11 | .tfw/adapters/antigravity/README.md |
Fix stale TFW 0.4 reference |
| 12 | .tfw/init.md |
Remove version from title. Add {version} replacement instruction. Update config example with full structure. Update template/workflow copy commands |
| 13 | CLAUDE.md |
TFW 0.5 → value from VERSION. Lists → reference config |
| 14 | .agent/rules/tfw.md |
Templates +RES. Version reference (TD-26) |
| 15 | .tfw/workflows/research.md |
Verify L122 research: reference is accurate (now config exists) |
Budget: 0 new, 8 modified (exceeds ≤6 by 2 — all single-line mechanical edits in adapters, justified)
PROJECT_CONFIG.yaml — add all 4 sections per §2conventions.md — remove version from title, Pattern A for budgets §6.tfw/README.md — remove version from prose, Pattern A for budget section, update tree commentsplan.md — Pattern A for scope budget tableglossary.md — remove version from title, Pattern B for inline budgetsTS.md template — Pattern B for budget lineREADME.md — reference config for budgets, reference VERSION for versioninit.md — full config example, {version} instructions, update copy commandsCLAUDE.md — version from VERSION, lists from config.agent/rules/tfw.md — fix TD-26research.md L122 referencetfw.scope_budgets exists in PROJECT_CONFIG with 4 keystfw.templates has 8 entries (hl, ts, res, rf, onb, review, knowledge, release)tfw.workflows has 8 entries (plan, research, handoff, review, resume, docs, release, update)tfw.research has 4 limit entriesgrep "≤ 7" .tfw/conventions.md .tfw/README.md .tfw/workflows/plan.md → 0 matches (values without ≤ symbol)grep "TFW 0\." .tfw/conventions.md .tfw/glossary.md → 0 matches (no version in titles){version} not hardcoded versionCLAUDE.md references VERSION file for versiongrep "TFW 0\." .tfw/adapters/ CLAUDE.md .agent/rules/ → 0 matches# Phase A
grep "scope_budgets" .tfw/PROJECT_CONFIG.yaml
grep -c "templates:" .tfw/PROJECT_CONFIG.yaml # sections exist
grep -c "workflows:" .tfw/PROJECT_CONFIG.yaml
# No hardcoded budget values with ≤ prefix
grep "≤ 7\|≤ 4\|≤ 600\|≤ 6" .tfw/conventions.md .tfw/README.md .tfw/workflows/plan.md .tfw/glossary.md .tfw/templates/TS.md README.md || echo "PASS"
# No version in core titles
grep "TFW 0\." .tfw/conventions.md .tfw/glossary.md || echo "PASS"
# Phase B
grep "{version}" .tfw/adapters/*/tfw*.template .tfw/adapters/claude-code/CLAUDE.md.template
grep "TFW 0\." .tfw/adapters/ CLAUDE.md .agent/rules/tfw.md 2>/dev/null || echo "PASS"
grep "research:" .tfw/PROJECT_CONFIG.yaml
.agent/workflows/ copies of plan.md, research.md, handoff.md — these are synced from canonical, will get updated on next tfw-update/tfw-docs after REVIEW| *TS — TFW-12: Config Centralization | 2026-03-30* |