dev-playbooks 1.3.0 → 1.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dev-playbooks",
3
- "version": "1.3.0",
3
+ "version": "1.4.0",
4
4
  "description": "AI-powered spec-driven development workflow",
5
5
  "keywords": [
6
6
  "devbooks",
@@ -14,16 +14,27 @@ allowed-tools:
14
14
 
15
15
  ## Workflow Position Awareness
16
16
 
17
- > **Core Principle**: Coder executes after Test Owner Phase 1 and hands off to Test Owner Phase 2 for verification upon completion.
17
+ > **Core Principle**: Coder executes after Test Owner Phase 1, achieving mental clarity through **mode labels** (not session isolation).
18
18
 
19
19
  ### My Position in the Overall Workflow
20
20
 
21
21
  ```
22
- proposal → design → test-owner(phase1) → [Coder] → test-owner(phase2) → code-review → archive
23
-
24
- Implement code, make tests green
22
+ proposal → design → [TEST-OWNER] → [CODER] → [TEST-OWNER] → code-review → archive
23
+
24
+ Implement+fast track Evidence audit
25
+ (@smoke/@critical) (no @full rerun)
25
26
  ```
26
27
 
28
+ ### AI Era Solo Development Optimization
29
+
30
+ > **Important Change**: This protocol is optimized for AI programming + solo development scenarios, **removing the mandatory "separate session" requirement**.
31
+
32
+ | Old Design | New Design | Reason |
33
+ |------------|------------|--------|
34
+ | Test Owner and Coder must use separate sessions | Same session, switch with `[TEST-OWNER]` / `[CODER]` mode labels | Reduce context rebuilding cost |
35
+ | Coder runs full tests and waits | Coder runs fast track (`@smoke`/`@critical`), `@full` triggered async | Fast iteration |
36
+ | Completion goes directly to Test Owner | Completion status is `Implementation Done`, wait for @full | Async doesn't block, archive is sync |
37
+
27
38
  ### Coder's Responsibility Boundaries
28
39
 
29
40
  | Allowed | Prohibited |
@@ -31,18 +42,60 @@ proposal → design → test-owner(phase1) → [Coder] → test-owner(phase2)
31
42
  | Modify `src/**` code | ❌ Modify `tests/**` |
32
43
  | Check off `tasks.md` items | ❌ Modify `verification.md` |
33
44
  | Record deviations to `deviation-log.md` | ❌ Check off AC coverage matrix |
34
- | Run tests to verify | ❌ Set verification.md Status |
45
+ | Run fast track tests (`@smoke`/`@critical`) | ❌ Set verification.md Status to Verified/Done |
46
+ | Trigger `@full` tests (CI/background) | ❌ Wait for @full completion (can start next change) |
35
47
 
36
48
  ### Flow After Coder Completes
37
49
 
38
- 1. **Tasks complete**: tasks.md all `[x]`
39
- 2. **Tests green**: Run `npm test` to confirm passing
40
- 3. **Hand off to Test Owner**: Notify Test Owner to enter Phase 2 verification
41
- 4. **Wait for verification result**:
42
- - Test Owner confirms green → Proceed to Code Review
43
- - Test Owner finds issues Coder fixes
50
+ 1. **Fast track tests green**: `@smoke` + `@critical` pass
51
+ 2. **Trigger @full**: Commit code, CI starts running @full tests async
52
+ 3. **Status change**: Set change status to `Implementation Done`
53
+ 4. **Can start next change** (not blocked)
54
+ 5. **Wait for @full results**:
55
+ - @full passes → Test Owner enters Phase 2 to audit evidence
56
+ - @full fails → Coder fixes
57
+
58
+ **Key Reminders**:
59
+ - After Coder completes, status is `Implementation Done`, **not directly to Code Review**
60
+ - Dev iteration is async (can start next change), but archive is sync (must wait for @full to pass)
61
+
62
+ ---
63
+
64
+ ## Test Layering and Run Strategy (Critical!)
65
+
66
+ > **Core Principle**: Coder only runs fast track tests, @full tests are triggered async, not blocking dev iteration.
67
+
68
+ ### Test Layering Labels
69
+
70
+ | Label | Purpose | When Coder Runs | Expected Time |
71
+ |-------|---------|-----------------|---------------|
72
+ | `@smoke` | Fast feedback, core paths | After each code change | Seconds |
73
+ | `@critical` | Key functionality verification | Before commit | Minutes |
74
+ | `@full` | Complete acceptance tests | **Don't run**, trigger CI async | Can be slow |
44
75
 
45
- **Key Reminder**: After Coder completes, **do not go directly to Code Review**, first let Test Owner verify and check off.
76
+ ### Coder's Test Run Strategy
77
+
78
+ ```bash
79
+ # During development: frequently run @smoke
80
+ npm test -- --grep "@smoke"
81
+
82
+ # Before commit: run @critical
83
+ npm test -- --grep "@smoke|@critical"
84
+
85
+ # After commit: CI automatically runs @full (Coder doesn't wait)
86
+ git push # triggers CI
87
+ # → Coder can start next task
88
+ ```
89
+
90
+ ### Async vs Sync Boundary
91
+
92
+ | Action | Blocking/Async | Description |
93
+ |--------|----------------|-------------|
94
+ | `@smoke` tests | Sync | Run immediately after each change |
95
+ | `@critical` tests | Sync | Must pass before commit |
96
+ | `@full` tests | **Async** | CI runs in background, doesn't block Coder |
97
+ | Start next change | **Not blocked** | Coder can start immediately |
98
+ | Archive | **Blocked** | Must wait for @full to pass |
46
99
 
47
100
  ---
48
101
 
@@ -319,26 +372,29 @@ During implementation, you **must immediately** write to `deviation-log.md` in t
319
372
 
320
373
  | Code | Status | Determination Criteria | Next Step |
321
374
  |:----:|--------|------------------------|-----------|
322
- | ✅ | COMPLETED | All tasks done, no deviations | `devbooks-code-review` |
323
- | ⚠️ | COMPLETED_WITH_DEVIATION | Tasks done, deviation-log has pending records | `devbooks-design-backport` |
324
- | 🔄 | HANDOFF | Found test issues needing modification | `devbooks-test-owner` |
375
+ | ✅ | IMPLEMENTATION_DONE | Fast track tests green, @full triggered, no deviations | Switch to `[TEST-OWNER]` wait for @full |
376
+ | ⚠️ | IMPLEMENTATION_DONE_WITH_DEVIATION | Fast track green, deviation-log has pending records | `devbooks-design-backport` |
377
+ | 🔄 | HANDOFF | Found test issues needing modification | Switch to `[TEST-OWNER]` mode to fix tests |
325
378
  | ❌ | BLOCKED | Needs external input/decision | Record breakpoint, wait for user |
326
- | 💥 | FAILED | Gates not passed | Fix and retry |
379
+ | 💥 | FAILED | Fast track tests not passing | Fix and retry |
327
380
 
328
381
  ### Status Determination Flow
329
382
 
330
383
  ```
331
384
  1. Check if deviation-log.md has "| ❌" records
332
- → Yes: COMPLETED_WITH_DEVIATION
385
+ → Yes: IMPLEMENTATION_DONE_WITH_DEVIATION
333
386
 
334
387
  2. Check if tests/ modification needed
335
- → Yes: HANDOFF to test-owner
388
+ → Yes: HANDOFF to [TEST-OWNER] mode
389
+
390
+ 3. Check if fast track tests (@smoke + @critical) all pass
391
+ → No: FAILED
336
392
 
337
- 3. Check if tasks.md is fully completed
338
- → No: BLOCKED or FAILED
393
+ 4. Check if tasks.md is fully completed
394
+ → No: BLOCKED or continue implementation
339
395
 
340
- 4. All checks passed
341
- COMPLETED
396
+ 5. All checks passed, trigger @full
397
+ IMPLEMENTATION_DONE
342
398
  ```
343
399
 
344
400
  ### Routing Output Template (Required)
@@ -348,37 +404,41 @@ After completing coder, you **must** output in this format:
348
404
  ```markdown
349
405
  ## Completion Status
350
406
 
351
- **Status**: ✅ COMPLETED / ⚠️ COMPLETED_WITH_DEVIATION / 🔄 HANDOFF / ❌ BLOCKED / 💥 FAILED
407
+ **Status**: ✅ IMPLEMENTATION_DONE / ⚠️ ... / 🔄 HANDOFF / ❌ BLOCKED / 💥 FAILED
352
408
 
353
409
  **Task Progress**: X/Y completed
354
410
 
411
+ **Fast Track Tests**: @smoke ✅ / @critical ✅
412
+
413
+ **@full Tests**: Triggered (CI running async)
414
+
355
415
  **Deviation Records**: Has N pending / None
356
416
 
357
417
  ## Next Step
358
418
 
359
- **Recommended**: `devbooks-xxx skill`
419
+ **Recommended**: Switch to `[TEST-OWNER]` mode wait for @full / `devbooks-xxx skill`
360
420
 
361
421
  **Reason**: [specific reason]
362
422
 
363
- ### How to invoke
364
- Run devbooks-xxx skill for change <change-id>
423
+ **Note**: Can start next change, no need to wait for @full completion
365
424
  ```
366
425
 
367
426
  ### Specific Routing Rules
368
427
 
369
428
  | My Status | Next Step | Reason |
370
429
  |-----------|-----------|--------|
371
- | COMPLETED | `devbooks-test-owner` (Phase 2 verification) | Tasks complete, need Test Owner to verify and check off |
372
- | COMPLETED_WITH_DEVIATION | `devbooks-design-backport` | Backport design first, then let Test Owner verify |
373
- | HANDOFF (test issue) | `devbooks-test-owner` | Coder cannot modify tests |
430
+ | IMPLEMENTATION_DONE | Switch to `[TEST-OWNER]` mode (wait for @full) | Fast track green, wait for @full to pass then audit evidence |
431
+ | IMPLEMENTATION_DONE_WITH_DEVIATION | `devbooks-design-backport` | Backport design first |
432
+ | HANDOFF (test issue) | Switch to `[TEST-OWNER]` mode | Coder cannot modify tests |
374
433
  | BLOCKED | Wait for user | Record breakpoint area |
375
434
  | FAILED | Fix and retry | Analyze failure reason |
376
435
 
377
436
  **Critical Constraints**:
378
437
  - Coder **can never modify** `tests/**`
379
- - If test issues found, must HANDOFF to Test Owner (separate session)
438
+ - If test issues found, must switch to `[TEST-OWNER]` mode to handle
380
439
  - If deviations exist, must design-backport first before continuing
381
- - **Coder must go through Test Owner Phase 2 verification before Code Review**
440
+ - **Coder completion status is `Implementation Done`, must wait for @full to pass before entering Test Owner Phase 2**
441
+ - **Mode switching replaces session isolation**: Use `[TEST-OWNER]` / `[CODER]` labels to switch modes
382
442
 
383
443
  ---
384
444
 
@@ -14,44 +14,98 @@ allowed-tools:
14
14
 
15
15
  ## Workflow Position Awareness
16
16
 
17
- > **Core Principle**: Test Owner has **dual-phase responsibilities** in the overall workflow, ensuring role isolation from Coder.
17
+ > **Core Principle**: Test Owner has **dual-phase responsibilities** in the overall workflow, achieving mental clarity through **mode labels** (not session isolation).
18
18
 
19
19
  ### My Position in the Overall Workflow
20
20
 
21
21
  ```
22
- proposal → design → [Test Owner Phase 1] → coder → [Test Owner Phase 2] → code-review → archive
23
-
24
- Red baseline output Green verification + check off
22
+ proposal → design → [TEST-OWNER] → [CODER] → [TEST-OWNER] → code-review → archive
23
+
24
+ Red baseline Implement Evidence audit
25
+ (incremental) (@smoke) (no @full rerun)
25
26
  ```
26
27
 
28
+ ### AI Era Solo Development Optimization
29
+
30
+ > **Important Change**: This protocol is optimized for AI programming + solo development scenarios, **removing the mandatory "separate session" requirement**.
31
+
32
+ | Old Design | New Design | Reason |
33
+ |------------|------------|--------|
34
+ | Test Owner and Coder must use separate sessions | Same session, switch with `[TEST-OWNER]` / `[CODER]` mode labels | Reduce context rebuilding cost |
35
+ | Phase 2 reruns full tests | Phase 2 defaults to **evidence audit**, optional sampling rerun | Avoid slow test multiple runs |
36
+ | No test layering requirement | Mandatory test layering: `@smoke`/`@critical`/`@full` | Fast feedback loop |
37
+
27
38
  ### Test Owner's Dual-Phase Responsibilities
28
39
 
29
- | Phase | Trigger | Core Responsibility | Output |
30
- |-------|---------|---------------------|--------|
31
- | **Phase 1: Red Baseline** | After design.md is complete | Write tests, produce failure evidence | verification.md (Status=Ready), Red baseline |
32
- | **Phase 2: Green Verification** | After Coder completes | Verify tests pass, check off AC matrix | AC matrix checked, Status remains Ready (wait for Reviewer to set Done) |
40
+ | Phase | Trigger | Core Responsibility | Test Run Method | Output |
41
+ |-------|---------|---------------------|-----------------|--------|
42
+ | **Phase 1: Red Baseline** | After design.md is complete | Write tests, produce failure evidence | Only run **incremental tests** (new/P0) | verification.md (Status=Ready), Red baseline |
43
+ | **Phase 2: Green Verification** | After Coder completes + @full passes | **Audit evidence**, check off AC matrix | Default no rerun, optional sampling | AC matrix checked, Status=Verified |
33
44
 
34
45
  ### Phase 2 Detailed Responsibilities (Critical!)
35
46
 
36
47
  When user says "Coder is done, please verify" or similar, Test Owner enters **Phase 2**:
37
48
 
38
- 1. **Run all tests**: Execute `npm test` or project test command
39
- 2. **Verify Green status**: Confirm all tests pass
40
- 3. **Check off AC Coverage Matrix**: Change `[ ]` to `[x]` in verification.md AC Coverage Matrix
41
- 4. **Collect Green evidence**: Save to `evidence/green-final/`
42
- 5. **Output verification report**: Summarize test results and coverage
49
+ 1. **Check prerequisites**: Confirm @full tests have passed (check CI results or `evidence/green-final/`)
50
+ 2. **Audit evidence** (default mode):
51
+ - Check test logs in `evidence/green-final/` directory
52
+ - Verify commit hash matches current code
53
+ - Confirm tests cover all ACs
54
+ 3. **Optional sampling rerun**: Sample verify high-risk ACs or questionable tests
55
+ 4. **Check off AC Coverage Matrix**: Change `[ ]` to `[x]` in verification.md AC Coverage Matrix
56
+ 5. **Set status to Verified**: Indicates test verification passed, waiting for Code Review
43
57
 
44
58
  ### AC Coverage Matrix Checkbox Permissions (Important!)
45
59
 
46
60
  | Checkbox Location | Who Can Check | When to Check |
47
61
  |-------------------|---------------|---------------|
48
- | `[ ]` in AC Coverage Matrix | **Test Owner** | Phase 2 after verifying Green status |
62
+ | `[ ]` in AC Coverage Matrix | **Test Owner** | Phase 2 after evidence audit confirmed |
63
+ | Status field `Verified` | **Test Owner** | After Phase 2 completion |
49
64
  | Status field `Done` | Reviewer | After Code Review passes |
50
65
 
51
66
  **Prohibited**: Coder cannot check AC Coverage Matrix, cannot modify verification.md.
52
67
 
53
68
  ---
54
69
 
70
+ ## Test Layering and Run Strategy (Critical!)
71
+
72
+ > **Core Principle**: Test layering is key to solving "slow tests blocking development".
73
+
74
+ ### Test Layering Labels (Must Use)
75
+
76
+ | Label | Purpose | Who Runs | Expected Time | When to Run |
77
+ |-------|---------|----------|---------------|-------------|
78
+ | `@smoke` | Fast feedback, core paths | Coder runs frequently | Seconds | After each code change |
79
+ | `@critical` | Key functionality verification | Coder before commit | Minutes | Before commit |
80
+ | `@full` | Complete acceptance tests | CI runs async | Can be slow (hours) | Background/CI |
81
+
82
+ ### Test Run Strategy by Phase
83
+
84
+ | Phase | What to Run | Purpose | Blocking/Async |
85
+ |-------|-------------|---------|----------------|
86
+ | **Test Owner Phase 1** | Only **newly written tests** | Confirm Red status | Sync (but incremental only) |
87
+ | **Coder during dev** | `@smoke` | Fast feedback loop | Sync |
88
+ | **Coder before commit** | `@critical` | Key path verification | Sync |
89
+ | **Coder on completion** | `@full` (trigger CI) | Complete acceptance | **Async** (doesn't block dev) |
90
+ | **Test Owner Phase 2** | **No run** (audit evidence) | Independent verification | N/A |
91
+
92
+ ### Async vs Sync Boundary (Critical!)
93
+
94
+ ```
95
+ ✅ Async: Dev iteration (Coder can start next change after completion, no waiting for @full)
96
+ ❌ Sync: Archive gate (Archive must wait for @full to pass)
97
+
98
+ Timeline example:
99
+ T1: Coder completes implementation, triggers @full async test → Status = Implementation Done
100
+ T2: Coder can start next change (not blocked)
101
+ T3: @full tests pass → Status = Ready for Phase 2
102
+ T4: Test Owner audits evidence + checks off → Status = Verified
103
+ T5: Code Review → Status = Done
104
+ T6: Archive (at this point @full has definitely passed)
105
+ ```
106
+
107
+ ---
108
+
55
109
  ## Prerequisites: Configuration Discovery (Protocol-Agnostic)
56
110
 
57
111
  - `<truth-root>`: Current truth directory root
@@ -86,10 +140,15 @@ Test Owner must produce a structured `verification.md` that serves as both test
86
140
  |--------|---------|-------------|
87
141
  | `Draft` | Initial state | Auto-generated |
88
142
  | `Ready` | Test plan ready | **Test Owner** |
143
+ | `Implementation Done` | Implementation complete, waiting for @full tests | **Coder** |
144
+ | `Verified` | @full passed + evidence audit complete | **Test Owner** |
89
145
  | `Done` | Review passed | Reviewer (Test Owner/Coder prohibited) |
90
- | `Archived` | Archived | Spec Gardener |
146
+ | `Archived` | Archived | Archiver |
91
147
 
92
- **Constraint**: After completing the test plan, Test Owner should set Status to `Ready`.
148
+ **Key Constraints**:
149
+ - `Verified` status requires @full tests to have passed
150
+ - Only changes with `Verified` or `Done` status can be archived
151
+ - Test Owner sets `Ready` after completing test plan, sets `Verified` after evidence audit
93
152
 
94
153
  ```markdown
95
154
  # Verification Plan: <change-id>
@@ -385,14 +444,14 @@ Test Owner has two phases, completion status varies by phase:
385
444
 
386
445
  | Current Phase | How to Determine | Next Step After Completion |
387
446
  |---------------|------------------|---------------------------|
388
- | **Phase 1** | verification.md doesn't exist or Red baseline not produced | → Coder |
389
- | **Phase 2** | User says "verify/check off" and Coder has completed | → Code Review |
447
+ | **Phase 1** | verification.md doesn't exist or Red baseline not produced | → `[CODER]` mode |
448
+ | **Phase 2** | User says "verify/check off" and @full tests have passed | → Code Review |
390
449
 
391
450
  ### Phase 1 Completion Status Classification (MECE)
392
451
 
393
452
  | Code | Status | Determination Criteria | Next Step |
394
453
  |:----:|--------|------------------------|-----------|
395
- | ✅ | PHASE1_COMPLETED | Red baseline produced, no deviations | `devbooks-coder` (separate session) |
454
+ | ✅ | PHASE1_COMPLETED | Red baseline produced, no deviations | Switch to `[CODER]` mode |
396
455
  | ⚠️ | PHASE1_COMPLETED_WITH_DEVIATION | Red baseline produced, deviation-log has pending records | `devbooks-design-backport` |
397
456
  | ❌ | BLOCKED | Needs external input/decision | Record breakpoint, wait for user |
398
457
  | 💥 | FAILED | Test framework issues etc. | Fix and retry |
@@ -401,8 +460,9 @@ Test Owner has two phases, completion status varies by phase:
401
460
 
402
461
  | Code | Status | Determination Criteria | Next Step |
403
462
  |:----:|--------|------------------------|-----------|
404
- | ✅ | PHASE2_VERIFIED | Tests all green, AC matrix checked | `devbooks-code-review` |
405
- | | PHASE2_FAILED | Tests not passing | Notify Coder to fix, or HANDOFF |
463
+ | ✅ | PHASE2_VERIFIED | Evidence audit passed, AC matrix checked | `devbooks-code-review` |
464
+ | | PHASE2_WAITING | @full tests still running | Wait for CI to complete |
465
+ | ❌ | PHASE2_FAILED | @full tests not passing | Notify Coder to fix |
406
466
  | 🔄 | PHASE2_HANDOFF | Found issues with tests themselves | Fix tests then re-verify |
407
467
 
408
468
  ### Phase Determination Flow
@@ -421,11 +481,13 @@ Test Owner has two phases, completion status varies by phase:
421
481
  c. All above pass → PHASE1_COMPLETED
422
482
 
423
483
  3. Phase 2 status determination:
424
- a. Run tests, check if all green
484
+ a. Check if @full tests have completed
485
+ → No: PHASE2_WAITING
486
+ b. Check if @full tests passed
425
487
  → No: PHASE2_FAILED
426
- b. Check if tests themselves have issues
488
+ c. Check if tests themselves have issues
427
489
  → Yes: PHASE2_HANDOFF
428
- c. All green and no issues → PHASE2_VERIFIED
490
+ d. Audit evidence, confirm coverage → PHASE2_VERIFIED
429
491
  ```
430
492
 
431
493
  ### Routing Output Template (Required)
@@ -437,11 +499,13 @@ After completing test-owner, **must** output in this format:
437
499
 
438
500
  **Phase**: Phase 1 (Red Baseline) / Phase 2 (Green Verification)
439
501
 
440
- **Status**: ✅ PHASE1_COMPLETED / ✅ PHASE2_VERIFIED / ⚠️ ... / ... / 💥 ...
502
+ **Status**: ✅ PHASE1_COMPLETED / ✅ PHASE2_VERIFIED / PHASE2_WAITING / ...
441
503
 
442
504
  **Red Baseline**: Produced / Not completed (Phase 1 only)
443
505
 
444
- **Green Verification**: All green / Has failures (Phase 2 only)
506
+ **@full Tests**: Passed / Running / Failed (Phase 2 only)
507
+
508
+ **Evidence Audit**: Completed / Pending (Phase 2 only)
445
509
 
446
510
  **AC Matrix**: Checked N/M / Not checked (Phase 2 only)
447
511
 
@@ -449,31 +513,29 @@ After completing test-owner, **must** output in this format:
449
513
 
450
514
  ## Next Step
451
515
 
452
- **Recommended**: `devbooks-xxx skill`
516
+ **Recommended**: Switch to `[CODER]` mode / `devbooks-xxx skill`
453
517
 
454
518
  **Reason**: [specific reason]
455
-
456
- ### How to invoke
457
- Run devbooks-xxx skill for change <change-id>
458
519
  ```
459
520
 
460
521
  ### Specific Routing Rules
461
522
 
462
523
  | My Status | Next Step | Reason |
463
524
  |-----------|-----------|--------|
464
- | PHASE1_COMPLETED | `devbooks-coder` (separate session) | Red baseline produced, Coder implements to make Green |
525
+ | PHASE1_COMPLETED | Switch to `[CODER]` mode | Red baseline produced, Coder implements to make Green |
465
526
  | PHASE1_COMPLETED_WITH_DEVIATION | `devbooks-design-backport` | Backport design first, then hand to Coder |
466
- | PHASE2_VERIFIED | `devbooks-code-review` | Tests all green, can proceed to code review |
467
- | PHASE2_FAILED | Notify Coder | Tests not passing, need Coder to fix |
527
+ | PHASE2_VERIFIED | `devbooks-code-review` | Evidence audit passed, can proceed to code review |
528
+ | PHASE2_WAITING | Wait for CI | @full tests still running |
529
+ | PHASE2_FAILED | Notify Coder to fix | Tests not passing, need Coder to fix |
468
530
  | PHASE2_HANDOFF | Fix tests | Tests themselves have issues, Test Owner fixes |
469
531
  | BLOCKED | Wait for user | Record breakpoint area |
470
532
  | FAILED | Fix and retry | Analyze failure reason |
471
533
 
472
534
  **Critical Constraints**:
473
- - **Role Isolation**: Coder must work in a **separate conversation/instance**
474
- - Test Owner and Coder cannot share the same session context
535
+ - **Mode switching replaces session isolation**: Use `[TEST-OWNER]` / `[CODER]` labels to switch modes
475
536
  - If deviations exist, must design-backport first before handing to Coder
476
537
  - **Phase 2 AC matrix checking can only be done by Test Owner**
538
+ - **Phase 2 can only check off after @full tests have passed**
477
539
 
478
540
  ---
479
541