research(app-creator): S12 — fase 7 friksjon #14 (07-features-fase7-brief-artefakter-sprenger-500-ord-grense)
Voyage strict-mode + materialisert upstream-kontekst driver fase 7-artefakter til ~600-750 ord — over ≤500-targeten i friksjon #13-tabellen, men under naturlig grense. Konsolidert lengde-mønster over alle 7 fase-artefakt-typer skrevet så langt: - bredde-faser (1/5/6): ~2000-3500 ord - dybde-faser (2/3): ~1300-1800 ord - fokus-per-feature (7-brief/context/research): ~600-750 ord per fil Round-trip-test mot Voyage HANDOVER-CONTRACTS.md § Handover 1: PASS uten template-gap. Fase 7-templaten i phase-design-draft.md produserer Voyage strict-mode-kompatibel output første gang. S12-bekreftelse på #5 (features/-layout funker), #10/#12/#13 (lengde-mønster konsolidert), #11 (numbering-disiplinen holder). Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
parent
7bb550dc7a
commit
725113cc00
1 changed files with 65 additions and 0 deletions
|
|
@ -380,3 +380,68 @@ Prosess-/spec-merknader fra S11 (ikke nummererte friksjons-poeng):
|
|||
- **Token-budsjett:** sesjonen holdt seg under 250K. Hovedkontekst-belastning: 5 fase-briefer i full lesing (app, research, architecture, constraints, og nå features), pack-snapshot § Relevante patterns, state.json, friksjon.md, phase-design § Fase 6 + R14 + Felles brief-frontmatter + Hard lengde-grense, SESSION-LOG S9 + S10. Skrivinger: `06-features-brief.md` (2789 ord), state.json (~80 linjer), friksjon.md-tilskudd (#13 + denne, ~140 linjer), SESSION-LOG S11-seksjon (kommer), SESSION-ROADMAP-edit (mindre), NEXT-SESSION-PROMPT-S12. Fortsatt under grensen — fase 6 er ikke nær like tungt som S10 fordi syntese-input er mindre (alle inputs er strukturerte briefer) selv om output-volumet er størst absolutt.
|
||||
|
||||
---
|
||||
|
||||
## #14: Fase 7 brief.md + context.md sprenger ≤500-ord-grensen — Voyage strict-mode + materialisert kontekst driver opp omfang
|
||||
|
||||
**Fase:** 7 (observert under S12)
|
||||
**Type:** design-friksjon (lengde-target — utvider #10/#12/#13-tabellen til fase 7)
|
||||
**Observert:** 2026-05-13 (S12) — under skriving av `features/01-sun-position/brief.md` + `context.md` (første ekte fase 7-kjøring)
|
||||
|
||||
**Beskrivelse:** Friksjon #13-tabellen setter både `features/{NN}/brief.md` og `context.md` til ≤500 ord. Faktisk S12-måling:
|
||||
|
||||
| Fil | Ord | Driver |
|
||||
|-----|-----|--------|
|
||||
| `brief.md` (F-001) | 743 | Voyage strict-mode-frontmatter (8 påkrevde + 4 valgfrie + 9 app-creator-interne felter ≈ 21 linjer) + 3 påkrevde body-seksjoner (Intent/Goal/Success Criteria) + 5 standard-seksjoner (Non-Goals/Constraints/Preferences/NFR/Research Plan/Open Questions) + Metadata + How-to-continue. Success Criteria alene er 6 falsifiserbare entries × ~25 ord = ~150 ord (load-bearing for Voyage `--validate` og plan-critic). |
|
||||
| `context.md` (F-001) | 641 | Materialisert upstream (BMAD embedding > linking): Dependencies + Cross-cutting constraints (7 enforce-pekere) + Architecture context (5 ADR-utdrag) + Design-system + Domain-konvensjoner/patterns (2 pattern-utdrag embedded) + Gotchas + Research signals. Hver seksjon er kort, men summen er nødvendig kontekst Voyage-agenten ikke har ambient. |
|
||||
| `research.md` (F-001) | 584 | Ny artefakt-type (ikke i lengde-tabellen). Holder Research Plan langform inkl. kandidat-tabell, 6 evaluerings-kriterier, beslutnings-prosess, konsekvenser. Splittet ut av brief.md per phase-design-draft § Fase 7 (>100 ord ⇒ separat fil). |
|
||||
|
||||
Brief.md sprenger ≤500-grensen med ~50 %; context.md med ~28 %. Begge er bevisst-stramme — ingen seksjon kan kuttes uten å miste Voyage-handover-verdi. Success Criteria er det største, men også det Voyage-validatoren faktisk konsumerer. Constraints/Preferences-pekere er minimum-form ("ADR-006: én-linjes-rasjonale") — ren peker uten forklaring gir Voyage-agenten for lite.
|
||||
|
||||
**Hva som ble gjort i S12:** Beholdt overskridelsen, satte ikke `length_words`/`length_review_flag` i frontmatter (Voyage-frontmatter har ingen slike felter — app-creator-interne felter kan ikke kollidere med Voyage-validatoren; lengde-flagget logges her i friksjon.md i stedet).
|
||||
|
||||
**Voyage strict-mode round-trip-test PASS:** Mental simulering av `/trekplan --brief features/01-sun-position/brief.md` mot HANDOVER-CONTRACTS.md § Handover 1: alle 8 påkrevde frontmatter-felter til stede, YAML er flat (ingen nestede dicts), enum-verdier gyldige, state-machine (`research_topics > 0 && research_status === "skipped"` → påkrevd `brief_quality: partial`) ikke trigget fordi status er `pending`, ikke `skipped`. Alle 3 strict-mode-påkrevde body-seksjoner til stede. **Ingen template-gap identifisert — fase 7-templaten produserer Voyage-strict-mode-kompatibel output.**
|
||||
|
||||
**Lærdom for app-creator-designet:** Per-artefakt-lengde-tabellen fra #13 må oppdateres med faktisk fase 7-erfaring:
|
||||
|
||||
| Artefakt | Foreslått grense (revidert #14+) |
|
||||
|----------|-----------------------------------|
|
||||
| `features/{NN}-{slug}/brief.md` (fase 7) | **~750 ord (review-flagg ved >1000) — driver: Voyage strict-mode-frontmatter (21 linjer) + 8 body-seksjoner inkl. falsifiserbare Success Criteria** |
|
||||
| `features/{NN}-{slug}/context.md` (fase 7) | **~650 ord (review-flagg ved >900) — driver: materialisert upstream (BMAD embedding > linking)** |
|
||||
| `features/{NN}-{slug}/research.md` (fase 7, valgfri) | ~600 ord (ny artefakt-type; review-flagg ved >800) |
|
||||
|
||||
Empirisk lengde-mønster etter S12 (seks fase-artefakter skrevet):
|
||||
|
||||
| Fase | Artefakt | Ord | Type |
|
||||
|------|----------|-----|------|
|
||||
| 1 | `01-app-brief.md` (rev 1) | 1830 | bredde |
|
||||
| 2 | `02-research-briefs/01-*` | 1278 | dybde |
|
||||
| 3 | `03-architecture-brief.md` | 1827 | dybde (6 ADR-er) |
|
||||
| 5 | `05-constraints-brief.md` | 3497 | bredde |
|
||||
| 6 | `06-features-brief.md` | 2789 | bredde |
|
||||
| **7** | **`features/01-sun-position/brief.md`** | **743** | **fokus-per-feature (Voyage strict)** |
|
||||
| **7** | **`features/01-sun-position/context.md`** | **641** | **materialisert upstream-utdrag** |
|
||||
| **7** | **`features/01-sun-position/research.md`** | **584** | **research-plan langform (valgfri)** |
|
||||
|
||||
Konsolidert mønster: bredde-faser ~2000–3500 ord, dybde-faser ~1300–1800 ord, **fokus-per-feature fase 7-artefakter ~600–750 ord per fil** (lavere absolutt enn dybde-faser fordi en feature er smalere enn en hel app-tverrsnitts-brief, men over ≤500-grensen pga Voyage-strict-mode-løftet).
|
||||
|
||||
**Foreslått revisjon:** Oppdater `phase-design-draft.md` § Hard lengde-grense + tabellen ved neste revisjons-runde (lav prioritet — `length_review_flag`/friksjon-logg-mekanikken funker; ingen Voyage-validator-failure). Vurder også: skal fase 7-templaten få et `## Length budget`-notat som forklarer at brief.md naturlig lander ~700-800 ord pga Voyage strict-mode, slik at forfattere ikke prøver å stramme bort substans?
|
||||
|
||||
---
|
||||
|
||||
## Ny friksjon oppstått i S12
|
||||
|
||||
Én ny nummerert friksjon: #14 (over — fase 7 brief.md + context.md sprenger ≤500-grensen; Voyage strict-mode round-trip-test PASS uten template-gap).
|
||||
|
||||
S12-bekreftelse på eksisterende friksjon:
|
||||
- **#5 (`features/{NN}-{slug}/`-layout og 00-context/`-konseptet):** Bekreftet i praksis ved første mappe-materialisering. Layouten holder: `brief.md` + `context.md` obligatoriske + `research.md` valgfri (introdusert som ny artefakt-type i S12 for langform-Research Plan). `00-context/domain-pack-ios-app.md`-snapshot leveres som forventet input til materialisering i `context.md` § Domain-konvensjoner & patterns.
|
||||
- **#10 + #12 + #13 (lengde-grenser):** Mønsteret bekreftet for sjette gang. Bredde-/dybde-/fokus-per-feature-typologi er nå empirisk klar over alle 7 fase-artefakt-typer. Konsolidert i #14-tabellen.
|
||||
- **#11 (OVERRIDE-numbering-konvensjon):** Ingen ny kollisjon i S12 — AQ-001 lukkes i F-001-brief Research Plan og bruker `AQ-NNN`-syntaks, ikke `OVERRIDE-N`. Disiplinen holder.
|
||||
|
||||
Prosess-/spec-merknader fra S12 (ikke nummererte friksjons-poeng):
|
||||
- **Voyage strict-mode-templaten produserer kompatibel output første gang.** Round-trip-test (mental simulering mot `~/.claude/plugins/marketplaces/ktg-plugin-marketplace/plugins/voyage/docs/HANDOVER-CONTRACTS.md` + `templates/trekbrief-template.md`) PASS uten template-gap. Dette er en kritisk validering — fase 7 er den eneste lag-grensen som krysses ut av app-creator til Voyage, og hvis templaten hadde manglet et felt eller en seksjon ville første F-001-runde med `/trekplan --brief` avvist. Bekrefter at app-creator's invariant "Voyage-agnostisk: brief.md er bare en velformet Voyage-brief" er holdt. Anbefaling for `phase-design-draft.md` § Fase 7: marker round-trip-test som `[testet S12 — PASS uten template-gap]`.
|
||||
- **`research.md` som tredje fase 7-artefakt** introdusert i S12 (research-plan langform med kandidat-tabell + kriterier + beslutnings-prosess), ut over `brief.md` + `context.md` som phase-design-draft § Fase 7 spec-er. Driver: Research Plan-seksjonen i brief.md ble ~400 ord på første utkast (>100-ord-terskelen prompten satte for splitting). Splittet til `research.md`; brief.md beholdt ~80-ord `## Research Plan`-peker-versjon. Mønsteret er sannsynligvis vanlig for features med åpne AQ-er (`F-001` har AQ-001; framtidige features med åpne AQ-er vil møte samme valg). Anbefaling: `phase-design-draft.md` § Fase 7 nevne `research.md` eksplisitt som valgfri tredje artefakt, ikke bare "valgfritt `research.md`/`design-ref.md`/`voyage_run.md`"-lista den nå er i.
|
||||
- **AQ-001 closure-mekanikk:** AQ-001 (NOAA-pakke vs egen impl) ble formelt lukket i F-001-`brief.md` § Research Plan + `research.md`-langform-detaljer, men den endelige beslutningen (pakke valgt vs egen impl) tas først i Voyage `/trekresearch`-runden. Dette er kontrakt-design: app-creator's fase 7 lukker AQ-en i den forstand at den **dokumenterer hvordan den lukkes**, men selve research-arbeidet skjer i Voyage. Konsekvens: F-001 `Effort: L · Status: brief-pending` forblir korrekt; effort-revisjon (L→M ved pakke valgt) skjer etter Voyage-runde og er en framtidig revision-bump på 06-features-brief.md, ikke en S12-handling.
|
||||
- **Fase-overhead-tid (R17):** ~50 min aktiv sesjons-tid (operatør-bekreftelse 1 min + lese-fase ~10 min + WebSearch + 3× WebFetch for AQ-001-research ~5 min + brief-skriving ~15 min inkl. ett "for langt" → splitt-til-research.md-rebound ~5 min + context-skriving ~10 min + round-trip-test mental ~2 min + state-mekanikk + commit ~5 min + SESSION-LOG/ROADMAP/NEXT-PROMPT ~10 min). Lavere enn S11 (~1 t) fordi syntese-overflaten er smaler (én feature, ikke 13). Bekrefter at fase 7 er **per-feature-anvendelse** — smal og fokusert.
|
||||
- **Token-budsjett:** sesjonen holdt seg under 250K. Hovedkontekst-belastning: phase-design-draft § Fase 7 + § Hard lengde-grense + § Felles brief-frontmatter, Voyage HANDOVER-CONTRACTS.md § Handover 1 + trekbrief-template.md (rask verifisering), Akashic `06-features-brief.md` § F-001 (full), `03-architecture-brief.md` § ADR-001/002/004/005/006 + AQ-001, `05-constraints-brief.md` § Performance/MASVS/Plattform, `00-context/domain-pack-ios-app.md` § Conventions/Gotchas/Patterns, friksjon.md (særlig #5/#10/#11/#13), SESSION-LOG S11. Skrivinger: `features/01-sun-position/brief.md` (743 ord), `context.md` (641), `research.md` (584), state.json oppdatering, friksjon.md +#14 + S12-seksjon, SESSION-LOG S12-seksjon, SESSION-ROADMAP-edit, NEXT-SESSION-PROMPT-S13. Lavest hovedkontekst-belastning siden S8.
|
||||
|
||||
---
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue