-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathstatus.yaml
More file actions
205 lines (200 loc) · 11.8 KB
/
status.yaml
File metadata and controls
205 lines (200 loc) · 11.8 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
phase: phase29_ux_polish_update_output
status: closeout_completed
started_at: "2026-03-05"
completed_at: "2026-03-06"
spec_files:
- spec/phase2.9/README.md
- spec/phase2.9/SPEC_TABLE_FIX.md
- spec/phase2.9/SPEC_UPDATE_EXT.md
- spec/phase2.9/SPEC_INSTALL_UX.md
- spec/phase2.9/SPEC_OUTPUT_CONSISTENCY.md
- spec/phase2.9/SPEC_NEWLINE_POLICY.md
- spec/phase2.9/SPEC_TEST_MATRIX.md
- spec/phase2.9/SPEC_TRACEABILITY.md
requirement_ids:
table_fix: TFX-001 ~ TFX-003
update_ext: UPD-001 ~ UPD-008
install_ux: IUX-001 ~ IUX-009
output_consistency: OCN-001 ~ OCN-010
newline_policy: NLP-001 ~ NLP-006
test_scenarios: TM-P29-001 ~ TM-P29-040
batches:
batch1:
name: "Foundation: Table Fix + Newline Policy"
work_packages: [WP-1, WP-5]
requirements:
[
TFX-001,
TFX-002,
TFX-003,
NLP-001,
NLP-002,
NLP-003,
NLP-004,
NLP-005,
NLP-006,
]
status: completed
batch2:
name: "Output Consistency"
work_packages: [WP-4]
requirements:
[
OCN-001,
OCN-002,
OCN-003,
OCN-004,
OCN-005,
OCN-006,
OCN-007,
OCN-008,
OCN-009,
OCN-010,
]
status: completed
batch3:
name: "Install UX: Card Preview + Tree Display"
work_packages: [WP-3-pt1]
requirements: [IUX-001, IUX-002, IUX-003, IUX-006, IUX-007, IUX-009]
status: completed
batch4:
name: "Install UX: Step Progress + Apply/Repair Integration"
work_packages: [WP-3-pt2]
requirements: [IUX-004, IUX-005, IUX-008]
status: completed
batch5:
name: "Update Extension"
work_packages: [WP-2]
requirements:
[UPD-001, UPD-002, UPD-003, UPD-004, UPD-005, UPD-006, UPD-007, UPD-008]
status: completed
batch6:
name: "Regression + Closeout"
work_packages: []
requirements: []
status: completed
builder_progress:
batch_1_foundation_table_fix_newline_policy:
status: completed
completed_at: "2026-03-05"
requirements: TFX-001, TFX-002, TFX-003, NLP-001, NLP-002, NLP-003, NLP-004, NLP-005, NLP-006
scenarios: TM-P29-001, TM-P29-002, TM-P29-003, TM-P29-036, TM-P29-037, TM-P29-038, TM-P29-039, TM-P29-040
notes:
- switched UiContext table factory to content-driven tty layout (`ContentArrangement::Disabled`) while preserving non-tty Dynamic + width 80 behavior
- applied UpperBoundary column constraints at list, doctor, plan, update, install --list, and install --dry-run table call sites
- fixed print_error spacing so blank separator is emitted only when a hint exists
- trimmed clap parser error strings with trim_end before wrapping InvalidArguments
- added table_fix_tests.rs and newline_policy_tests.rs with TM-P29 batch-1 aligned coverage
- adjusted list_command.rs assertion to accept wrapped mode cell output under tightened width constraints
- follow-up polish: reverted compact-width forcing in dry-run table after terminal regression (`Mode` header wrapping as `Mo`/`de`) and adopted content-driven tty table sizing
- follow-up hardening: removed ANSI styling from all table headers/cells (ui.table headers + plan/update/doctor table cell renderers) to avoid terminal-specific header drift
- synced phase2.9 specs for the plain-table-text rule (`SPEC_TABLE_FIX`, `SPEC_TEST_MATRIX`, `SPEC_UPDATE_EXT`, `SPEC_OUTPUT_CONSISTENCY`, `SPEC_TRACEABILITY`) and updated kick prompt wording
- manual visual checks TM-P29-004 and TM-P29-005 were completed and match expected table-width/alignment behavior on wide terminals
quality_gate:
fmt_check: passed
clippy_workspace_deny_warnings: passed
test_workspace: passed
current_test_inventory: 307
batch_2_output_consistency:
status: completed
completed_at: "2026-03-06"
requirements: OCN-001, OCN-002, OCN-003, OCN-004, OCN-005, OCN-006, OCN-007, OCN-008, OCN-009, OCN-010
scenarios: TM-P29-028, TM-P29-029, TM-P29-030, TM-P29-031, TM-P29-032, TM-P29-033, TM-P29-035
notes:
- added `UiContext::styled_path()` and applied it to init/add/set/config import/install/apply-repair/plan/doctor human output paths
- upgraded add/set/config import result lines to unified symbol-first format with abbreviated paths
- routed warning output through `print_warning()` across config_ops, remove, and registry manifest validation
- replaced remove cancellation text with skipped-symbol line and switched interactive candidates to UiContext table rendering with abbreviated repo source
- added bold skill labels and dimmed mode/arrow styling in install, reconcile, and plan text result lines
- added output_consistency_tests.rs covering TM-P29-028, TM-P29-029, TM-P29-030, TM-P29-031, TM-P29-032, TM-P29-033, TM-P29-035
- manual visual scenario TM-P29-034 was completed and confirmed cyan path styling when colors are enabled
quality_gate:
fmt_check: passed
clippy_workspace_deny_warnings: passed
test_workspace: passed
current_test_inventory: 315
batch_3_install_ux_card_preview_tree_display:
status: completed
started_at: "2026-03-06"
completed_at: "2026-03-06"
requirements: IUX-001, IUX-002, IUX-003, IUX-006, IUX-007, IUX-009
scenarios: TM-P29-015, TM-P29-016, TM-P29-017, TM-P29-018, TM-P29-019, TM-P29-023, TM-P29-024, TM-P29-027, TM-P29-041, TM-P29-042, TM-P29-043
notes:
- merged discovery rendering into unified `print_discovery_preview()` and wired both `install --list` and interactive selection preview to the same card-style output path
- replaced install discovery table/em-dash output with numbered card lines (`n. skill`) plus indented wrapped description lines
- applied non-`--list` truncation to 8 entries with dimmed footer hint (`... and N more (use --list to see all)`)
- added `--list --json` contract path for discovery output to return JSON array of discovered skills (name/description/subpath) without installation side effects
- switched install result lines from flat arrow format to grouped tree format with per-skill headers and connector lines (`├─` / `└─`)
- upgraded URL-mode `install --dry-run` preview to two titled tables (`Skill / Version / Source`, `Install Targets`) with 4-space table indentation, default 8-row truncation, and `--dry-run --list` full expansion
- simplified `Install Targets` preview table to `Agent/Path/Mode` columns and de-duplicated rows across multi-skill dry-run previews
- installed SIGINT cursor-restore hook in CLI entrypoint to restore terminal cursor on Ctrl+C interruptions during interactive prompts
- handled interactive prompt interruption as graceful cancel (`· Install cancelled`) instead of runtime error output
- added TM-P29 install UX coverage in `install_discovery_tests.rs` for card format parity, description indentation, name-only rendering, truncation, tree connectors, grouped skill headers, and list-json contract
- updated legacy assertions in `table_fix_tests.rs`, `output_upgrade_b_tests.rs`, and `output_upgrade_a2_tests.rs` to match phase2.9 card-preview contracts
- manual visual scenario TM-P29-025 was completed and confirmed dimmed connectors/mode labels with cyan paths in tree output
- manual terminal verification for SIGINT cursor restoration was completed for interactive install/remove prompt cancellation flows
quality_gate:
fmt_check: passed
clippy_workspace_deny_warnings: passed
test_workspace: passed
current_test_inventory: 325
batch_4_install_ux_step_progress_apply_repair_integration:
status: completed
started_at: "2026-03-06"
completed_at: "2026-03-06"
requirements: IUX-004, IUX-005, IUX-008
scenarios: TM-P29-020, TM-P29-021, TM-P29-022, TM-P29-026
notes:
- replaced install URL-mode source-sync key-value lines with step-progress rendering via `SourceSyncProgress` (`[pos/len]` in TTY) and compact sync summary output
- added compact sync summary helper `print_source_sync_step_summary_human()` and used it for both TTY and non-TTY install source-sync completion output
- updated install source-sync loops to aggregate synced/failed counts and emit one final `Syncing N synced, M failed` line per install run
- ported apply/repair install result rendering from flat arrow lines to grouped tree output (`✓ skill` headers with `├─` / `└─` target lines) in `reconcile.rs`
- added TM-P29-020/021/022 tests in `install_discovery_tests.rs` and TM-P29-026 test in `phase2_commands.rs`
- updated legacy output assertion in `output_upgrade_a1_tests.rs` (`tm_p28_014_apply_per_skill_install_lines`) to match tree-style apply output
- added cooperative SIGINT prompt handling (`signal::PromptInterruptGuard`) so Ctrl+C during interactive `install`/`remove` prompts is converted to command-level cancellation instead of immediate process exit
- aligned `remove` prompt interruption handling with `install` (confirmation/input interruptions now emit `· Remove cancelled`) and added regression tests in `remove_enhanced_tests.rs`
quality_gate:
fmt_check: passed
clippy_workspace_deny_warnings: passed
test_workspace: passed
current_test_inventory: 331
batch_5_update_extension:
status: completed
started_at: "2026-03-06"
completed_at: "2026-03-06"
requirements: UPD-001, UPD-002, UPD-003, UPD-004, UPD-005, UPD-006, UPD-007, UPD-008
scenarios: TM-P29-006, TM-P29-007, TM-P29-008, TM-P29-009, TM-P29-010, TM-P29-011, TM-P29-012, TM-P29-013, TM-P29-014
notes:
- added `--apply` CLI flag for `update` and threaded it through `UpdateRequest` (`lib.rs`, `commands/mod.rs`)
- extended `update` with dual-layer refresh: registry sync + Mode A skill source refresh via reactor-concurrency `git fetch --depth 1 origin <ref>`
- added Mode A refresh status model (`new commit`, `up-to-date`, `missing`, `failed`) and rendered `Skill/Status` table in human output
- added empty-source guidance path for `update` when both registries and skills are absent
- extended `update --json` payload with additive `skills` array (`id`, `status`, `local_sha`, `remote_sha`) and conditional `applied` field for `--apply`
- implemented `update --apply` reconcile flow for refreshed skills (source sync, safety, plan apply, verify, lock write) and fetch-head materialization for changed repos
- added dedicated integration coverage in `tests/update_ext_tests.rs` for TM-P29-006 through TM-P29-014
- completed post-batch manual verification sweep for TM-P29-004, TM-P29-005, TM-P29-020, TM-P29-025, and TM-P29-034
- confirmed SIGINT cursor restore path is healthy in real terminal runs after interactive prompt interruption
quality_gate:
fmt_check: passed
clippy_workspace_deny_warnings: passed
test_workspace: passed
current_test_inventory: 340
batch_6_regression_closeout:
status: completed
started_at: "2026-03-06"
completed_at: "2026-03-06"
requirements: closeout_regression
scenarios: TM-P29-001~TM-P29-040 (regression replay)
notes:
- reran full quality gate for closeout (`cargo fmt --all -- --check`, `cargo clippy --workspace -- -D warnings`, `cargo test --workspace`)
- regression confirmed 340 passing tests across Phase 1/2/2.5/2.7/2.8/2.9 suites
- JSON contracts remain unchanged (existing JSON contract suites pass; update additive `skills` array retained)
- exit code semantics remain unchanged (`0/1/2/3`) with exit-code matrix and strict-mode coverage still green
- no hardcoded ANSI escape sequences found in source (`rg '\x1b\[' crates/` returned zero matches)
- phase closeout documentation synced in phase tracker files and README current status
quality_gate:
fmt_check: passed
clippy_workspace_deny_warnings: passed
test_workspace: passed
no_hardcoded_ansi_escape_in_source: passed
current_test_inventory: 340