Commit 1a33a68
feat: improve nForma reporting for feature usefulness and bugs caught (#67)
* docs(quick-380): create plan for feature usefulness reporting
* feat(quick-380): add feature telemetry event schema with validation and tests
- Define FEATURE_IDS, FEATURE_ACTIONS, FEATURE_OUTCOMES enumerations
- Implement validateFeatureEvent with comprehensive field validation
- Implement createFeatureEvent convenience constructor with defaults
- Add 24 unit tests covering all positive and negative validation cases
- Register feature-events path type in planning-paths.cjs
* feat(quick-380): add feature report generator with metrics, bug linkage, and insights
- Implement generateReport with per-feature metrics aggregation
- Add bug linkage connecting features to detected/prevented bugs
- Generate narrative insights based on data patterns (failures, bugs, unused)
- Support CLI with --json, --since, --project-root flags
- 11 tests including end-to-end pilot with realistic event simulation
* feat(quick-380): wire feature report into observe pipeline as Category 17
- Add Category 17 to observe-handler-internal.cjs
- Surface high failure rate features as medium-severity issues
- Surface detected bugs as info-level issues
- Surface narrative insights as summary issue
- Follow existing fail-open spawn-with-timeout pattern
* docs(quick-380): Improve nForma reporting for feature usefulness and bugs caught
* docs(quick-380): update verification status
* chore(quick-380): sync formal models and add scope contract
Update formal model versions and timestamps after feature report implementation.
Add scope contract for quick-380 task tracking.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
---------
Co-authored-by: jobordu <jonathan@jonathanborduas.com>
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>1 parent 6767d13 commit 1a33a68
20 files changed
Lines changed: 1787 additions & 19 deletions
File tree
- .planning
- formal
- alloy
- prism
- tla
- quick/380-improve-nforma-reporting-for-feature-use
- bin
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
17 | 17 | | |
18 | 18 | | |
19 | 19 | | |
| 20 | + | |
20 | 21 | | |
21 | 22 | | |
22 | 23 | | |
23 | 24 | | |
24 | 25 | | |
25 | 26 | | |
26 | 27 | | |
| 28 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2 | 2 | | |
3 | 3 | | |
4 | 4 | | |
5 | | - | |
| 5 | + | |
6 | 6 | | |
7 | 7 | | |
8 | 8 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | | - | |
| 3 | + | |
4 | 4 | | |
5 | 5 | | |
6 | 6 | | |
| |||
1335 | 1335 | | |
1336 | 1336 | | |
1337 | 1337 | | |
1338 | | - | |
1339 | | - | |
| 1338 | + | |
| 1339 | + | |
1340 | 1340 | | |
1341 | 1341 | | |
1342 | 1342 | | |
| |||
2308 | 2308 | | |
2309 | 2309 | | |
2310 | 2310 | | |
2311 | | - | |
2312 | | - | |
| 2311 | + | |
| 2312 | + | |
2313 | 2313 | | |
2314 | 2314 | | |
2315 | 2315 | | |
| |||
2571 | 2571 | | |
2572 | 2572 | | |
2573 | 2573 | | |
2574 | | - | |
2575 | | - | |
| 2574 | + | |
| 2575 | + | |
2576 | 2576 | | |
2577 | 2577 | | |
2578 | 2578 | | |
2579 | 2579 | | |
2580 | 2580 | | |
2581 | 2581 | | |
2582 | | - | |
2583 | | - | |
| 2582 | + | |
| 2583 | + | |
2584 | 2584 | | |
2585 | 2585 | | |
2586 | 2586 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2 | 2 | | |
3 | 3 | | |
4 | 4 | | |
5 | | - | |
| 5 | + | |
6 | 6 | | |
7 | 7 | | |
8 | 8 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2 | 2 | | |
3 | 3 | | |
4 | 4 | | |
5 | | - | |
| 5 | + | |
6 | 6 | | |
7 | 7 | | |
8 | 8 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | 3 | | |
4 | | - | |
| 4 | + | |
5 | 5 | | |
6 | 6 | | |
7 | 7 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2 | 2 | | |
3 | 3 | | |
4 | 4 | | |
5 | | - | |
| 5 | + | |
6 | 6 | | |
7 | 7 | | |
8 | 8 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2 | 2 | | |
3 | 3 | | |
4 | 4 | | |
5 | | - | |
| 5 | + | |
6 | 6 | | |
7 | 7 | | |
8 | 8 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
4 | 4 | | |
5 | 5 | | |
6 | 6 | | |
7 | | - | |
| 7 | + | |
8 | 8 | | |
9 | 9 | | |
10 | 10 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
4 | 4 | | |
5 | 5 | | |
6 | 6 | | |
7 | | - | |
| 7 | + | |
8 | 8 | | |
9 | 9 | | |
10 | 10 | | |
| |||
0 commit comments