-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathstatus.yaml
More file actions
175 lines (170 loc) · 14.4 KB
/
status.yaml
File metadata and controls
175 lines (170 loc) · 14.4 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
phase: phase297_reliability_interactive_ux_docker_safety
status: closeout_completed
started_at: "2026-03-07"
completed_at: "2026-03-08"
spec_files:
- spec/phase2.97/README.md
- spec/phase2.97/SPEC_UPDATE_FIX.md
- spec/phase2.97/SPEC_TABLE_STYLE.md
- spec/phase2.97/SPEC_INTERACTIVE_UX.md
- spec/phase2.97/SPEC_CACHE_CLEAN.md
- spec/phase2.97/SPEC_DOCKER_MANAGED.md
- spec/phase2.97/SPEC_HINT_SYNC.md
- spec/phase2.97/SPEC_TEST_MATRIX.md
- spec/phase2.97/SPEC_TRACEABILITY.md
requirement_ids:
update_fix: UFX-001 ~ UFX-003
table_style: TST-001 ~ TST-010
interactive_ux: IUX-001 ~ IUX-010
cache_clean: CCL-001 ~ CCL-007
docker_managed: DMG-001 ~ DMG-008
hint_sync: HSY-001 ~ HSY-002
documentation: DOC-001 ~ DOC-002
test_scenarios: TM-P297-001 ~ TM-P297-065
batches:
batch1:
name: "Update Concurrency Fix"
work_packages: [WP-1]
requirements: [UFX-001, UFX-002, UFX-003]
status: completed
batch2:
name: "Table Content Styling + Help / Parse Error Colorization + List Table + Hint Sync"
work_packages: [WP-2, WP-6]
requirements: [TST-001, TST-002, TST-003, TST-004, TST-005, TST-006, TST-007, TST-008, TST-009, TST-010, HSY-001, HSY-002]
status: completed
batch3:
name: "Interactive UX (Remove + Install)"
work_packages: [WP-3]
requirements: [IUX-001, IUX-002, IUX-003, IUX-004, IUX-005, IUX-006, IUX-007, IUX-008, IUX-009, IUX-010]
status: completed
batch4:
name: "Cache Clean"
work_packages: [WP-4]
requirements: [CCL-001, CCL-002, CCL-003, CCL-004, CCL-005, CCL-006, CCL-007]
status: completed
batch5:
name: "Docker Management Domain"
work_packages: [WP-5]
requirements: [DMG-001, DMG-002, DMG-003, DMG-004, DMG-005, DMG-006, DMG-007, DMG-008]
status: completed
batch6:
name: "Documentation + Regression + Closeout"
work_packages: [WP-7]
requirements: [DOC-001, DOC-002]
status: completed
builder_progress:
batch_1_update_concurrency_fix:
status: completed
started_at: "2026-03-07"
completed_at: "2026-03-07"
requirements: UFX-001, UFX-002, UFX-003
scenarios: TM-P297-001, TM-P297-002, TM-P297-003, TM-P297-004, TM-P297-005, TM-P297-006
notes:
- grouped Mode A refresh work in `crates/eden-skills-cli/src/commands/update.rs` by `repo_cache_key()` for remote sources while preserving per-skill refresh tasks for local-source copies
- broadcast shared fetch outcomes back into per-skill `SkillRefreshResult` rows so human and JSON output still report one refresh entry per configured skill
- added stale `.git/index.lock` and `.git/shallow.lock` cleanup before fetch with warning output, preventing interrupted shallow-fetch state from causing false refresh failures
- added `crates/eden-skills-cli/tests/update_fix_tests.rs` covering shared-repo deduplication, status broadcasting, stale lock cleanup, local-source non-grouping, and JSON row preservation
quality_gate:
fmt_check: passed
clippy_workspace_deny_warnings: passed
test_workspace: passed
current_test_inventory: 399
batch_2_table_content_styling_help_colorization_list_table_hint_sync:
status: completed
started_at: "2026-03-07"
completed_at: "2026-03-07"
requirements: TST-001, TST-002, TST-003, TST-004, TST-005, TST-006, TST-007, TST-008, TST-009, TST-010, HSY-001, HSY-002
scenarios: TM-P297-007, TM-P297-008, TM-P297-009, TM-P297-010, TM-P297-011, TM-P297-012, TM-P297-047, TM-P297-048, TM-P297-049, TM-P297-050, TM-P297-057, TM-P297-058, TM-P297-059, TM-P297-060, TM-P297-061, TM-P297-062, TM-P297-063, TM-P297-064, TM-P297-065
notes:
- enabled `comfy-table` `custom_styling` in `crates/eden-skills-cli/Cargo.toml` and moved table/header/status/hint styling into shared helpers in `crates/eden-skills-cli/src/ui.rs`
- styled all Batch 2 skill tables with bold headers, bold+magenta Skill IDs, semantic status colors, cyan path/source cells, dimmed secondary detail text, and ANSI-safe width calculation
- colorized clap help in `crates/eden-skills-cli/src/lib.rs` by resolving `--color` into clap `ColorChoice` before help/version rendering and applying green/cyan/magenta styles on the root command
- updated `list` output in `crates/eden-skills-cli/src/commands/config_ops.rs` to show repo-cache-backed `Path` values and truncate the `Agents` column after five labels with yellow `+N more`
- normalized hint output to magenta `~>` across `main.rs`, `update.rs`, `diagnose.rs`, `plan_cmd.rs`, and `install.rs`, including the residual Docker bind-mount tip path
- added `crates/eden-skills-cli/tests/table_style_tests.rs` and `crates/eden-skills-cli/tests/hint_sync_tests.rs`, and refreshed affected legacy table/help tests to match the new styling contract
- follow-up on 2026-03-08: replaced the root help footer string with a runtime `StyledStr` builder so `Examples:` / `Documentation:` headings, tokenized example commands, and the docs URL participate in the same semantic color palette as the rest of clap help
- follow-up on 2026-03-08: preserved structured `clap::Error` values in a CLI-local `CliError` wrapper and added a custom parse-error renderer in `crates/eden-skills-cli/src/main.rs` for invalid subcommands, unknown arguments, invalid values, and missing required arguments, with bold-magenta `tip:`, bold-green `Usage:`, cyan token bodies inside plain-text quotes by default, cargo-style yellow invalid-token highlighting for `unexpected argument 'xx'`, and magenta metavars
- added `crates/eden-skills-cli/tests/help_system_tests.rs` coverage for the new footer and parse-error styling scenarios TM-P297-060 through TM-P297-065 while keeping newline-policy regressions green
quality_gate:
fmt_check: passed
clippy_workspace_deny_warnings: passed
test_workspace: passed
current_test_inventory: 436
batch_3_interactive_ux_remove_install:
status: completed
started_at: "2026-03-07"
completed_at: "2026-03-07"
requirements: IUX-001, IUX-002, IUX-003, IUX-004, IUX-005, IUX-006, IUX-007, IUX-008, IUX-009, IUX-010
scenarios: TM-P297-013, TM-P297-014, TM-P297-015, TM-P297-016, TM-P297-017, TM-P297-018, TM-P297-019, TM-P297-020, TM-P297-021, TM-P297-022, TM-P297-023, TM-P297-024, TM-P297-025, TM-P297-026, TM-P297-027, TM-P297-028
notes:
- added shared interactive selection infrastructure in `crates/eden-skills-cli/src/ui.rs` with `SkillSelectTheme`, custom checkbox prompt rendering, 57-character inline description truncation, viewport `...` indicators, color-policy sync for `dialoguer`/`console`, and shared test-env index parsing
- rewrote `crates/eden-skills-cli/src/commands/remove.rs` to replace the legacy candidate table and text-input parser with shared checkbox-selector index resolution while preserving explicit-ID removal, post-selection confirmation, and graceful cancellation
- removed the Phase 2.95 `*` wildcard branch from remove interactive mode so test-only `EDEN_SKILLS_TEST_REMOVE_INPUT` now accepts only comma-separated 0-based indices or `interrupt`
- rewrote `crates/eden-skills-cli/src/commands/install.rs` to replace the confirm-plus-name-input flow with shared checkbox-selector selection while preserving `--all`, `--skill`, single-discovery direct install, `--list`, `--dry-run`, and non-interactive install-all fallback behavior
- aligned interactive styling with the upstream `vercel-labs/skills` screenshots by removing bold prompt items, using cyan active unchecked checkboxes, green checked checkboxes, dim descriptions, and persistent inline descriptions for checked install items
- refined the active prompt-item label color back to the terminal default white and changed frame redraw to emit a single block without a trailing newline, preventing repeated `Found N skills` headers from being pushed into scrollback on short terminals
- added best-effort Windows spinner input suppression using Win32 console mode save/restore plus input-buffer flush, and verified the code path with `cargo check --workspace --all-targets --target x86_64-pc-windows-msvc`
- verified on a real Windows environment that cloning-phase input suppression matches the Unix behavior in practice, including blocking echo/backwrite and preventing non-signal stdin leakage into the interactive selector
- follow-up on 2026-03-08: fixed a Windows-only interactive prompt bug where `Ctrl+C` during the shared install/remove selection UI set the interrupt flag but did not wake the blocked key-read loop until another key arrived; the Ctrl+C handler now injects a synthetic console `Escape` key event to wake `read_key()` immediately
- added `crates/eden-skills-cli/tests/interactive_ux_tests.rs` and refreshed affected legacy remove/install/output tests to assert Phase 2.97 checkbox-selection semantics instead of the removed text-input preview flow
quality_gate:
fmt_check: passed
clippy_workspace_deny_warnings: passed
test_workspace: passed
current_test_inventory: 422
batch_4_cache_clean:
status: completed
started_at: "2026-03-08"
completed_at: "2026-03-08"
requirements: CCL-001, CCL-002, CCL-003, CCL-004, CCL-005, CCL-006, CCL-007
scenarios: TM-P297-029, TM-P297-030, TM-P297-031, TM-P297-032, TM-P297-033, TM-P297-034, TM-P297-035, TM-P297-036
notes:
- added a new `clean` subcommand in `crates/eden-skills-cli/src/lib.rs` and `crates/eden-skills-cli/src/commands/clean.rs` to scan `storage_root/.repos`, delete orphaned repo-cache entries, remove stale `eden-skills-discovery-*` temp directories, support `--dry-run` and `--json`, and report freed bytes in human mode
- shared the discovery temp-dir prefix between `crates/eden-skills-cli/src/commands/install.rs` and the new cleanup logic so orphan temp-directory detection matches the install-side naming convention exactly
- extended `crates/eden-skills-cli/src/commands/remove.rs` with `--auto-clean`, reusing the shared cleanup report for both human output and nested JSON payloads after config and lock updates complete
- extended `crates/eden-skills-cli/src/commands/diagnose.rs` with `ORPHAN_CACHE_ENTRY` info findings that point users at `eden-skills clean` when `.repos/` entries are no longer referenced by config
- added `crates/eden-skills-cli/tests/cache_clean_tests.rs` covering orphan repo-cache cleanup, stale discovery-dir cleanup, dry-run behavior, JSON output, no-op reporting, `remove --auto-clean`, doctor orphan detection, and freed-byte reporting
- relaxed `crates/eden-skills-cli/tests/doctor_json_contract.rs` severity validation to allow the new additive `info` doctor finding without changing the existing summary schema
quality_gate:
fmt_check: passed
clippy_workspace_deny_warnings: passed
test_workspace: passed
current_test_inventory: 430
batch_5_docker_management_domain:
status: completed
started_at: "2026-03-08"
completed_at: "2026-03-08"
requirements: DMG-001, DMG-002, DMG-003, DMG-004, DMG-005, DMG-006, DMG-007, DMG-008
scenarios: TM-P297-037, TM-P297-038, TM-P297-039, TM-P297-040, TM-P297-041, TM-P297-042, TM-P297-043, TM-P297-044, TM-P297-045, TM-P297-046
notes:
- added `crates/eden-skills-core/src/managed.rs` plus `pub mod managed` in `crates/eden-skills-core/src/lib.rs` to define the `.eden-managed` manifest schema, source/origin metadata, and JSON serialization helpers
- extended `crates/eden-skills-core/src/adapter.rs` with local and Docker manifest read/write helpers, including bind-mount direct I/O, docker exec reads, docker cp writes, and tolerant handling for missing or invalid manifest files
- updated `crates/eden-skills-cli/src/commands/install.rs` to write manifest entries after install, mark Docker installs as `external`, mark local installs as `local`, and adopt existing externally-managed local targets without overwriting files unless `--force` is used
- updated `crates/eden-skills-cli/src/commands/remove.rs` and `crates/eden-skills-cli/src/lib.rs` to add `remove --force`, default external-skill removals to config-only, and delete manifest entries only when file removal actually occurs
- updated `crates/eden-skills-cli/src/commands/reconcile.rs` and `crates/eden-skills-cli/src/lib.rs` to add `apply --force` / `repair --force`, skip locally-taken-over docker skills by default, and reclaim ownership by rewriting manifests back to `external` when forced
- extended `crates/eden-skills-cli/src/commands/diagnose.rs` with `DOCKER_OWNERSHIP_CHANGED` and `DOCKER_EXTERNALLY_REMOVED` findings derived from docker-target manifest state
- added `crates/eden-skills-cli/tests/docker_managed_tests.rs` covering install manifest creation, remove/install guards, doctor findings, missing/corrupted manifest tolerance, and `apply --force` ownership reclaim
- refreshed existing lock lifecycle and lock diff tests for the new `force` parameters on apply/repair/install command helpers
quality_gate:
fmt_check: passed
clippy_workspace_deny_warnings: passed
test_workspace: passed
current_test_inventory: 440
batch_6_documentation_regression_closeout:
status: completed
started_at: "2026-03-08"
completed_at: "2026-03-08"
requirements: DOC-001, DOC-002
scenarios: TM-P297-051, TM-P297-052, TM-P297-053, TM-P297-054, TM-P297-055, TM-P297-056
notes:
- updated `README.md` to document the new `clean` command, `remove --auto-clean`, checkbox-based interactive install/remove behavior, the expanded built-in agent target table, cache cleanup guidance, and the completed Phase 2.97 status line
- updated `docs/01-quickstart.md`, `docs/02-config-lifecycle.md`, `docs/04-docker-targets.md`, and `docs/06-troubleshooting.md` to document cache cleanup flows, MultiSelect-based remove/install UX, `.eden-managed` ownership guards, Docker cross-container safety, and the new orphan/ownership recovery paths
- completed Phase 2.97 closeout by filling `spec/phase2.97/SPEC_TRACEABILITY.md`, updating `trace/phase2.97/tracker.md`, refreshing root `STATUS.yaml` / `EXECUTION_TRACKER.md`, and syncing `spec/README.md` metadata to the final Phase 2.97 test-matrix range
- re-validated the full regression gate with formatting, clippy, full `--all-targets` tests, Windows target compilation, and a repository scan confirming there are no hardcoded ANSI escape sequences under `crates/`
quality_gate:
fmt_check: passed
clippy_workspace_deny_warnings: passed
test_workspace: passed
windows_target_check: passed
ansi_escape_scan: passed
current_test_inventory: 451