Commit Graph

2 Commits

Author SHA1 Message Date
freemo 48cff5cfe0 refactor(cli): rename plan lifecycle-list and lifecycle-apply to match specification
Renames `plan lifecycle-list` to `plan list` and `plan lifecycle-apply` to `plan apply` to align with the specification's canonical command names. Removes legacy V2 plan commands that occupied those names.

- Renamed CLI command registrations from lifecycle-list/lifecycle-apply to list/apply
- Removed legacy V2 apply and list commands (~200 lines)
- Updated apply shortcut in main.py to delegate to v3 lifecycle
- Added defensive null check for plan existence in apply command
- Updated 63+ test, doc, and benchmark files for consistency

Closes #881

Co-authored-by: Jeffrey Phillips Freeman <the@jeffreyfreeman.me>
Co-committed-by: Jeffrey Phillips Freeman <the@jeffreyfreeman.me>
2026-04-02 19:09:04 +00:00
hurui200320 b6c3169634 test(e2e): workflow example 16 — devcontainer-driven development (supervised profile)
Implements E2E test for devcontainer-driven development workflow.
Tests project setup with .devcontainer config, resource registration,
and full plan lifecycle with supervised automation profile.

Changes from Cycle 5 review:

1. Replaced custom WF16_ALLOW_XFAIL_SKIP escape hatch with the project
   standard tdd_expected_fail tag system. Test is now tagged
   [Tags] tdd_expected_fail tdd_bug tdd_bug_762 and the listener
   inverts failures in CI until devcontainer features are fully wired.

2. Added diagnostic WF16 Test Teardown keyword that captures plan
   status JSON on failure, mirroring the WF05 teardown pattern.

3. Added stderr checks to all Traceback/INTERNAL guard assertions
   so tracebacks appearing only in stderr are also detected.

4. Rebased branch onto latest master (e4c01492).

5. Documented timeout budget: added comment explaining theoretical
   worst-case (~46min) vs realistic execution under the 35min limit.

6. Added fail-fast warning in AC-3 check noting that AC-4, AC-5, and
   AC-6 are dependent on AC-3 and are likely to also fail.

7. Reordered plan apply arguments to --yes --format json <plan_id>
   for spec consistency.

8. Decomposed long ready_for_apply Evaluate expression into three
   intermediate booleans (is_apply_phase, is_execute_complete,
   is_already_applied) for readability.

9. Added shared_session.close() calls in resource_dag.robot before
   each final print() to ensure explicit session cleanup.

10. Cleaned up stale xfail/skip classification references in log
    messages.

Changes from earlier cycles (3-4) retained in this commit:

- Terminal state validation, AC output combination, JSON format flags,
  suite-level init, Force Tags, automation profile fallback, ULID regex
  IGNORECASE, AC-5 Evaluate decomposition, defensive re-check pattern.

ISSUES CLOSED: #762
2026-03-30 18:45:10 +08:00