|
2 | 2 |
|
3 | 3 | All notable changes to this plugin will be documented in this file. |
4 | 4 |
|
5 | | -## [1.0.0] — 2026-04-22 (in progress) |
| 5 | +## [1.3.0] — 2026-04-23 (in progress) |
| 6 | + |
| 7 | +### Added — `--profile` system (standard · pro · max) |
| 8 | + |
| 9 | +Single flag replaces the old `--lean/--previews=N/--single-team/--skip-panels` |
| 10 | +matrix (4 booleans × 16 combinations) that the devops-architect panel |
| 11 | +vote rejected. `--profile=pro` is the default. |
| 12 | + |
| 13 | +- **`profiles/standard.json`**: 9 previews · 2×5 eng (BE+FE) · keyword-triggered |
| 14 | + panels · SCC iter=3 · P95 60k tok / 25 min. Demo / prototyping. |
| 15 | +- **`profiles/pro.json`**: 18 previews · 3×5 eng (+DB) · keyword-triggered with |
| 16 | + escalation · SCC iter=4 · P95 250k tok / 70 min. **Default**. Real projects. |
| 17 | +- **`profiles/max.json`**: 26 previews · 5×5 eng (all disciplines) · all panels |
| 18 | + always-on · SCC iter=5 · P95 600k tok / 160 min. Production / baselines. |
| 19 | +- **`schemas/pf-profile.schema.json`**: Draft-07 schema, CI-validated. |
| 20 | + |
| 21 | +### Added — Layer-0 Rule 9 (idea-drift detector) |
| 22 | + |
| 23 | +Catches the failure mode "Gate H1 picks P10 API but SpecDD/Engineering |
| 24 | +drift to P02 Slack" — usually template caching or agent memory leak. |
| 25 | + |
| 26 | +- **`hooks/idea-drift-detector.py`**: PreToolUse hook. Containment coefficient |
| 27 | + `|chosen ∩ incoming| / |chosen|` over stopword-filtered tokens. Default |
| 28 | + threshold 0.4. No external deps (stdlib only, LESSON 0.4). |
| 29 | +- **Scope**: `runs/*/specs/SPEC.md` · `openapi.yaml(.lock)?` · `apps/*/README.md`. |
| 30 | +- **Exit**: 0 allow · 1 warn (0.3–0.4) · 2 block (<0.3). |
| 31 | +- **Bypass**: `PF_DRIFT_BYPASS=1` + `PF_DRIFT_REASON=...` for intentional scope expansion. |
| 32 | + |
| 33 | +### Added — P0-B cost-regression sentinel |
| 34 | + |
| 35 | +- **`hooks/cost-regression.py`**: standalone CLI + monitor watcher. Reads |
| 36 | + `runs/<id>/cost-snapshot.json`, compares against profile's `cost_ceiling` |
| 37 | + (P95 + hard). Writes blackboard row at severity `warn` or `alert`. |
| 38 | +- **`monitors/monitors.json`**: cost-regression watcher runs every 30s |
| 39 | + per run dir. |
| 40 | +- Hard-ceiling breach triggers M1 Run Supervisor to pause + AskUserQuestion. |
| 41 | + |
| 42 | +### Added — Surface-type detection (Proposal #2) |
| 43 | + |
| 44 | +- **`scripts/detect-surface.sh`**: regex-gate over idea.json → classifies |
| 45 | + rest-first / ui-first / hybrid. Bilingual keyword banks (EN + KO). |
| 46 | + Outputs `{"surface": ..., "stack_hint": ...}` JSON. |
| 47 | +- Fixes the "Next.js 16 blindly applied to API-first products" failure |
| 48 | + reported by system-architect panel (Minutes.ai case). |
| 49 | +- Stack routing: rest-first → nestia · ui-first → Next.js 16 · hybrid → both. |
| 50 | + |
| 51 | +### Added — PreviewDD cache (Proposal #11) |
| 52 | + |
| 53 | +- **`scripts/preview-cache.sh`** {key|get|put|invalidate|prune}. |
| 54 | +- Cache key: `sha256(idea + advocate_set + model_version + profile)`. |
| 55 | +- TTL from profile: standard/pro 7 days, max never (0 = production safety). |
| 56 | +- `/pf:new --no-cache` forces bypass. |
| 57 | +- ~60% token saving on demo re-runs with identical idea. |
| 58 | + |
| 59 | +### Changed |
| 60 | + |
| 61 | +- **Agent budgets** are now profile-aware across all tiers: |
| 62 | + - Preview Advocates (26): 20K → profile (12K / 14K / 20K) |
| 63 | + - Panel Leads (4): 120K → profile (60K / 84K / 120K) |
| 64 | + - Panel Members (40): 40K → profile (24K / 28K / 40K) |
| 65 | + - QA Leads (4): 80K → profile (48K / 56K / 80K) |
| 66 | + - QA Members (14): 40K → profile (24K / 28K / 40K) |
| 67 | + - SCC Lead: 80K → profile (56K / 64K / 80K) |
| 68 | + - M3 Chief Engineer: 120K → profile (84K / 100K / 120K) |
| 69 | +- **`/pf:new`** accepts `--profile=standard|pro|max` · `--previews=N` · |
| 70 | + `--no-cache`. Default = `pro`. |
| 71 | +- **`/pf:status`** + **`/pf:budget`** now show active profile + budget-to-ceiling. |
| 72 | +- **SCC auto-extend**: if error count is decreasing (`e_i < e_{i-1}`), |
| 73 | + allow up to +2 iter beyond `max_iter` for convergence. |
| 74 | +- **Panel activation**: standard/pro `keyword-trigger` mode — panels only |
| 75 | + activate if idea keywords match trigger list. pro auto-escalates to full |
| 76 | + panel on unknown-unknown detection (advocate dispersion > 0.7). |
| 77 | + |
| 78 | +### Methodology |
| 79 | + |
| 80 | +- **`methodology/global.md`** gains Rule 9 (idea-drift fidelity). |
| 81 | +- **QA tools-vs-agents separation** formalized in `qa/security/secqa-lead.md`: |
| 82 | + tools (semgrep, gitleaks, axe-core, lighthouse, owasp-zap) always run |
| 83 | + regardless of agent count. Only agents scale with profile. |
| 84 | + |
| 85 | +### CI |
| 86 | + |
| 87 | +- Validate all 3 profiles against schema on every PR. |
| 88 | +- New test matrices: idea-drift (5 cases), cost-regression (6 cases), |
| 89 | + detect-surface (3 cases), preview-cache (4 cases). |
| 90 | +- verify-plugin.sh now runs 45 checks (was 38). |
| 91 | + |
| 92 | +### Rationale |
| 93 | + |
| 94 | +All decisions ratified by 5-expert panel: system-architect, refactoring-expert, |
| 95 | +root-cause-analyst, quality-engineer, devops-architect. See PR body for the |
| 96 | +full debate summary. |
| 97 | + |
| 98 | +## [1.2.1] — 2026-04-22 |
| 99 | + |
| 100 | +### Fixed |
| 101 | +- release-please manifest mode so plugin.json + marketplace.json sync on tag. |
| 102 | + |
| 103 | +## [1.2.0] — 2026-04-22 |
| 104 | + |
| 105 | +### Added — Layer-0 Rule 8 (run artifact single-writer) |
| 106 | + |
| 107 | +- `hooks/factory-policy.py` gains run-artifact enforcement: only the M1 |
| 108 | + Run Supervisor can write to `runs/*/chosen_preview.json(.lock)?` · |
| 109 | + `.panel-recommended.json` · `design-approved.json(.lock)?` · |
| 110 | + `mitigations.json` · `panels/meta-tally.json` · `score/report.json` · |
| 111 | + `.frozen-hash`. |
| 112 | +- External out-of-band editors (sibling skills, other assistant sessions, |
| 113 | + user manual edits) blocked with exit 2. |
| 114 | +- Bypass via `PF_WRITER_ROLE=supervisor` env var (supervisor slash-command flow). |
| 115 | + |
| 116 | +## [1.1.0] — 2026-04-22 |
| 117 | + |
| 118 | +### Fixed — UX gap from first real run |
| 119 | + |
| 120 | +- **Gate H1 is now preview-selection + design-tweak (was design-only)** |
| 121 | +- `commands/design.md` rewritten: AskUserQuestion 4옵션 (Recommended / |
| 122 | + Alt A / Alt B / Gallery of 26). |
| 123 | +- `chosen_preview.panel-recommended.json` backup of panel's original pick. |
| 124 | + |
| 125 | +## [1.0.0] — 2026-04-22 |
6 | 126 |
|
7 | 127 | ### Added |
8 | 128 | - Plugin manifest (`.claude-plugin/plugin.json`) |
9 | 129 | - Apache-2.0 license + NOTICE |
| 130 | +- 143 Opus 4.7 agents across 6 tiers |
| 131 | +- 14 slash commands (`/pf:*`) |
| 132 | +- 3 hooks (factory-policy, askuser-enforcement, auto-retro-trigger) |
| 133 | +- 3-DD methodology (PreviewDD → SpecDD → TestDD) |
0 commit comments