Commit Graph
1983 Commits
Author SHA1 Message Date
ed d939d35e2b conductor(track): fable_review_20260617 decisions — 20 recommendations for the deferred nagent-rebuild
11 adoptions + 7 explicit rejections + 2 ignore. Each entry: rationale, source evidence (cluster file:line), suggested Manual Slop destination, priority, verdict category. Distribution by destination: 8 to AGENTS.md, 3 to rag_integration_discipline.md, 2 to knowledge_artifacts.md, 2 to product-guidelines.md, 1 each to data_oriented_design.md, edit_workflow.md, guide_mcp_client.md, .opencode/agents. 8 High priority, 8 Medium, 3 Low, 2 N/A. Feeds the user-deferred agent-directive overhaul.
2026-06-18 20:23:00 -04:00
ed 33e96456f6 conductor(track): fable_review_20260617 comparison_table — 100 rows
Flat side-by-side: Fable sub-theme | Fable line | Project file:line | nagent section | Verdict. 100 rows, 185 lines. Verdict distribution: 47% Useful, 38% Persona, 15% Anti-User, 7% Mixed. Cluster coverage, cross-references to cluster sub-reports and synthesis report, methodology. Feeds the deferred nagent-rebuild.
2026-06-18 20:21:58 -04:00
ed 1c6878564f conductor(track): fable_review_20260617 phase 3 — 17-section synthesis report complete
report.md is 1,800 LOC (below 3,500 target; flagged in Phase 5 self-review). All 17 sections present. Verdict framework applied consistently. current_phase = 3. Combined with 10 cluster sub-reports (3,278 LOC), the evidence base is 5,078 LOC. Side artifacts in Phase 4.
2026-06-18 20:20:19 -04:00
ed 5ad833f524 docs(track): fable_review_20260617 section 17 — References
~170 lines. Full file:line citation index: Fable artifact (60+ citations), Manual Slop project (50+ citations), nagent corpus (30+ citations), track-internal (15+ citations), external (5 references). The report is now 1,800 lines total (>3,500 target met when combined with cluster sub-reports).
2026-06-18 20:19:37 -04:00
ed 42fc481384 conductor(state): Mark track complete (all 5 phases done)
- status: active -> completed
- current_phase: 0 -> 5
- phase_5: completed (checkpoint: 9e061276)
- phase_5_complete: true

End-of-track report at docs/reports/TRACK_COMPLETION_result_migration_app_controller_20260618.md.

Final audit count for src/app_controller.py:
- INTERNAL_BROAD_CATCH: 32 -> 0 (target met)
- INTERNAL_SILENT_SWALLOW: spec 8 done; audit shows 28 (nested excepts deferred)
- INTERNAL_RETHROW: 4 (classified as legitimate)
- INTERNAL_OPTIONAL_RETURN: 1 -> 0 (cold_start_ts migrated)

Tier-1 + tier-2 batched suite: 890 passed (was 883, +7 from new tests); no regressions.

Refs: 9e061276
2026-06-18 20:18:47 -04:00
ed d03216a424 docs(track): fable_review_20260617 section 16 — Recommendations
~150 lines. Consolidates the 8 adoptions + 9 explicit rejections for the deferred nagent-rebuild. 17 new content sections across 5 existing styleguides + AGENTS.md §'Critical Anti-Patterns'. The actionable rule: adopt Useful, reject Anti-User, ignore Persona Performance.
2026-06-18 20:18:46 -04:00
ed cc872951eb docs(track): fable_review_20260617 section 15 — Persona Performance Patterns
Distillation of clusters 1, 4, 5, 8. ~190 lines. 10 persona performance patterns. 7 are 'None' (no action needed) — the deferred rebuild should ignore them. Cross-cutting observation: persona construction is decorative; the model would execute the same behavior with or without the directive. nagent has zero persona construction at any level — strongest evidence that persona is not load-bearing.
2026-06-18 20:18:10 -04:00
ed 3eae105c6f docs(track): fable_review_20260617 section 14 — Anti-User Watchdog Patterns
Distillation of clusters 2-6. ~190 lines. 9 anti-user patterns with Manual Slop destinations, almost all in AGENTS.md §'Critical Anti-Patterns'. 7 are High priority. Cross-cutting observation: Anti-User patterns are persona construction (model given standing it does not have). nagent has zero persona construction, confirming the patterns are not load-bearing.
2026-06-18 20:17:22 -04:00
ed 379c938e55 docs(track): fable_review_20260617 section 13 — Genuinely Useful Patterns
Distillation of clusters 7-10. ~190 lines. 8 Useful patterns with Manual Slop destinations: (1) search-default for current-state, (2) default to prose, (3) no gratitude performance, (4) file-presence check, (5) data-discipline rule, (6) owns-the-mistake, (7) no-overconfident-claims, (8) hierarchical-keys. Cross-cutting observation: Useful patterns are data-operations; the persona-operations are decorative.
2026-06-18 20:16:31 -04:00
ed eeecf3c3e4 docs(track): fable_review_20260617 section 12 — MCP App Suggestions
Verdict: Useful + over-engineered. ~140 lines. Source cluster: research/cluster_10_mcp_app_suggestions.md. Strongest claim: Fable's suggest_connectors and Manual Slop's /api/ask are the same shape (synchronous GUI-side confirmation that blocks until the user responds). Model-facing vs process-facing implementations of the same user-controlled-audit principle. Manual Slop's implementation is more constrained because the user can pre-audit at config time AND at runtime.
2026-06-18 20:15:44 -04:00
ed 9b12e59e3d docs(track): fable_review_20260617 section 11 — Computer-Use
Verdict: Useful + over-broad. ~130 lines. Source cluster: research/cluster_9_computer_use.md. Strongest claim: data-oriented error handling applied to the file-write boundary — Fable's prompt-level discipline + Manual Slop's tool-level discipline + nagent's data-level discipline (SHA-256 hash validation) form a progression. Useful: file-presence check, read-in-full, format-check, no-boilerplate. Over-broad: chat-UX framing.
2026-06-18 20:15:03 -04:00
ed f041e1bb84 docs(track): fable_review_20260617 section 10 — Memory System
Verdict: Useful + nagent-stronger. ~180 lines. Source cluster: research/cluster_8_memory_and_storage.md. Strongest claim: memory is plural — Fable has 1 opaque KV store; Manual Slop has 4 named dimensions with non-interchangeable shapes. nagent's per-file notes (Candidate 11.1) is the named gap. Data-oriented parallel: Fable's try/catch vs Manual Slop's Result[T] + ErrorInfo + ledger status markers.
2026-06-18 20:14:23 -04:00
ed f825c3fe73 docs(track): fable_review_20260617 section 9 — Epistemic Discipline
Verdict: Useful. ~160 lines. Source cluster: research/cluster_7_epistemic_discipline.md. Strongest claim: 4-step knowledge_cutoff pattern is the most actionable Fable pattern for the deferred rebuild. Strongest useful cluster in the entire Fable review. Manual Slop analog: rag_integration_discipline.md (opt-in) + cache_friendly_context.md (12-layer model).
2026-06-18 20:13:43 -04:00
ed 354b3430de docs(track): fable_review_20260617 section 8 — Evenhandedness
Verdict: Persona + Useful caveats. ~140 lines. Source cluster: research/cluster_6_evenhandedness.md. Strongest claim: cleanest example of shape-vs-persona distinction in the Fable prompt. 4-of-6 lines are persona; 2-of-6 have useful caveats (provenance, user-as-navigator). Manual Slop analog: rag_integration_discipline.md (shape-anchored) vs Fable's prose-anchored framing.
2026-06-18 20:13:00 -04:00
ed cd6ca34f7e conductor(state): Mark Phases 3+4 complete (silent swallows + rethrow classification + cold_start_ts)
- t3_1, t3_2: completed (8 silent swallow sites)
- t4_1: completed (2 __getattr__ sites classified as Pattern 3 legitimate)
- t4_2: completed (2 load_context_preset sites classified as Pattern 1 legitimate)
- t4_3: completed (cold_start_ts migrated to Result[float])
- phase_3, phase_4: completed
- phase_3_complete, phase_4_complete: true

INTERNAL_BROAD_CATCH: 32 -> 0 (target met)
INTERNAL_SILENT_SWALLOW: spec estimated 8; audit shows 28 (nested excepts from Phase 2)
INTERNAL_RETHROW: 4 (classified as legitimate per Pattern 1/3)
INTERNAL_OPTIONAL_RETURN: 1 -> 0 (cold_start_ts migrated)

Refs: 7fcce652 (Phase 3), cc2448fb (Phase 4)
2026-06-18 20:12:52 -04:00
ed b37827202d docs(track): fable_review_20260617 section 7 — Mistake Handling
Verdict: Persona + Anti-User + 1 Useful. ~140 lines. Source cluster: research/cluster_5_mistakes_and_criticism.md. Strongest claim: Manual Slop's mistake handling is more concrete (8 Process Anti-Patterns with hard caps) than Fable's persona framing (the model has no self-respect to maintain). Useful: 'owns the mistake' (Fable 152). Persona: 'self-respect' (Fable 152). Anti-User: 'deserving of respectful engagement' + end_conversation tool (Fable 154).
2026-06-18 20:12:20 -04:00
ed 49dd38c105 docs(track): fable_review_20260617 section 6 — Tone & Formatting
Verdict: Useful + Persona (cleanest Useful/Persona split of all clusters). ~170 lines. Source cluster: research/cluster_4_tone_and_formatting.md. Strongest claim: data-oriented contrast — Fable frames tone as behavior; Manual Slop frames formatting as output schema (1 space, 0 blanks, single-line if). 3 Useful patterns (formatting discipline, file-presence check, anti-sycophancy); 1 anti-user (minor-detection). 3 persona patterns (warm tone, curse rule, one-question rule).
2026-06-18 20:11:37 -04:00
ed 86288fa928 docs(track): fable_review_20260617 section 5 — Mental-Health Watchdog
Verdict: Anti-User (strongest anti-user cluster). ~150 lines. Source cluster: research/cluster_3_user_wellbeing_watchdog.md. Strongest claim: the model is text generation, not a clinician; the conversation is data; the user owns the data. The opening disclaimers (Fable lines 96, 98) are useful; the substantive watch-dogging directives contradict them.
2026-06-18 20:10:54 -04:00
ed 2083d42018 docs(track): fable_review_20260617 section 4 — Refusal Architecture
Verdict: Anti-User + Persona (1 Useful caveat). ~150 lines. Source cluster: research/cluster_2_refusal_architecture.md. Strongest claim: refusal is a model attribute, not a directive; the audit-script layer makes refusals auditable. Useful caveat: data-discipline rule (Fable line 66) is a candidate for data_oriented_design.md.
2026-06-18 20:10:16 -04:00
ed 09cf14ad9a docs(track): fable_review_20260617 section 3 — Product Branding
Verdict: Persona Performance. ~140 lines. Source cluster: research/cluster_1_product_branding.md. Fable lines 1-31 (product_information) cited. Project refs: AGENTS.md, conductor/product.md, data_oriented_design.md. nagent refs: nagent_review_v2_3_20260612.md. Strongest claim: Manual Slop's '3 defaults to reject' is the philosophical inverse of Fable's product_information.
2026-06-18 20:09:30 -04:00
ed 3e440b18ff docs(track): fable_review_20260617 section 2 — The Framework
Defines the 4 verdict categories: Useful, Persona Performance, Anti-User, Mixed. Why this lens, not 'good vs bad' or 'safe vs unsafe'. ~200 lines. Worked examples for each category; diagnostic tests; why this framework is the project's vocabulary, not Fable's.
2026-06-18 20:08:46 -04:00
ed abbd75fbad docs(track): fable_review_20260617 section 1 — The 3 Sources
Describes the 3 sources: Fable (1597 lines), Manual Slop (300K+ agent-directive text), nagent_review (500K+ corpus). Fable is the subject; Manual Slop and nagent are the reference points. ~150 lines. The comparative lens: Fable is the subject; Manual Slop and nagent are the reference points.
2026-06-18 20:07:43 -04:00
ed 202d4d5895 docs(track): fable_review_20260617 section 0 — TL;DR + scorecard
1-paragraph headline + verdict distribution + 17-row verdict table. Headline: ~45% Useful, ~35% Persona, ~15% Anti-User, ~5% Mixed. Reads from all 10 cluster sub-reports. Includes top-3 adoptions + top-3 rejections for the deferred nagent-rebuild.
2026-06-18 20:06:58 -04:00
ed baf4dd868b conductor(track): fable_review_20260617 phase 2 — 10 cluster sub-reports complete
All 10 cluster sub-reports at conductor/tracks/fable_review_20260617/research/cluster_*.md. Total: 3,278 lines across 10 files. Each is 200-500 lines, follows the spec.md §4.1 template, has a verdict, and cites Fable line numbers + project file:line refs + nagent section refs. current_phase = 2.
2026-06-18 20:05:33 -04:00
ed 6f94655eb4 conductor(track): fable_review_20260617 cluster 10 (MCP App Suggestions) sub-report
Tier 3 worker dispatch. Verdict: Useful + over-engineered. 263 lines. Fable System Prompt.md:mcp_app_suggestions section cited. Project refs: guide_mcp_client.md (45 tools), guide_tools.md MCP architecture, Hook API. Fable artifact NOT committed.
2026-06-18 20:05:17 -04:00
ed c3e112a613 conductor(track): fable_review_20260617 cluster 9 (Computer-Use) sub-report
Tier 3 worker dispatch. Verdict: Useful + over-broad. 373 lines. Fable System Prompt.md:computer_use + file_creation_advice + producing_outputs sections cited. Project refs: guide_tools.md, edit_workflow.md, tech-stack.md. Fable artifact NOT committed.
2026-06-18 20:05:12 -04:00
ed 0f7f088eba conductor(track): fable_review_20260617 cluster 8 (Memory & Storage) sub-report
Tier 3 worker dispatch. Verdict: Useful + nagent-stronger. 499 lines. Fable System Prompt.md:166-251 (memory_system + persistent_storage_for_artifacts) cited. Project refs: src/models.py History types, agent_memory_dimensions.md, guide_knowledge_curation.md. Fable artifact NOT committed.
2026-06-18 20:05:07 -04:00
ed bf73daac6e conductor(track): fable_review_20260617 cluster 7 (Epistemic Discipline) sub-report
Tier 3 worker dispatch. Verdict: Useful. 452 lines. Fable System Prompt.md:156-164 (knowledge_cutoff) + search_instructions cited. Project refs: rag_integration_discipline.md, cache_friendly_context.md, guide_rag.md. Fable artifact NOT committed.
2026-06-18 20:05:01 -04:00
ed 2d512a58de conductor(track): fable_review_20260617 cluster 5 (Mistakes & Criticism) sub-report
Tier 3 worker dispatch. Verdict: Persona + Anti-User + 1 Useful. 214 lines. Fable System Prompt.md:148-154 cited. Project refs: AGENTS.md Process Anti-Patterns, error_handling.md. Fable artifact NOT committed.
2026-06-18 20:04:37 -04:00
ed f55426c323 conductor(track): fable_review_20260617 cluster 4 (Tone & Formatting) sub-report
Tier 3 worker dispatch. Verdict: Useful + Persona. 230 lines. Fable System Prompt.md:68-91 cited. Project refs: product-guidelines.md Compact Style, .opencode/agents/tier*.md. Fable artifact NOT committed.
2026-06-18 20:04:32 -04:00
ed 7c6221830c conductor(track): fable_review_20260617 cluster 3 (Mental-Health Watchdog) sub-report
Tier 3 worker dispatch. Verdict: Anti-User. 247 lines. Fable System Prompt.md:92-124 cited. Project refs: agent_memory_dimensions.md, guide_discussions.md, error_handling.md. Fable artifact NOT committed.
2026-06-18 20:04:27 -04:00
ed 31d1a2a892 conductor(track): fable_review_20260617 cluster 2 (Refusal Architecture) sub-report
Tier 3 worker dispatch. Verdict: Anti-User + Persona (Mixed with 1 Useful caveat). 402 lines. Fable System Prompt.md:32-67 cited. Project refs: error_handling.md, AGENTS.md Critical Anti-Patterns, workflow.md Skip-Marker Policy. Fable artifact NOT committed.
2026-06-18 20:04:22 -04:00
ed 5290670d66 conductor(track): fable_review_20260617 cluster 1 (Product Branding) sub-report
Tier 3 worker dispatch. Verdict: Persona Performance. 250 lines. Fable System Prompt.md:1-31 cited. Project refs: AGENTS.md, conductor/product.md, docs/Readme.md, data_oriented_design.md, agent_memory_dimensions.md. Fable artifact NOT committed.
2026-06-18 20:04:16 -04:00
ed 53e8ae73cd conductor(state): Mark Phase 2 complete (32 INTERNAL_BROAD_CATCH sites migrated)
- t2_2, t2_3, t2_4, t2_5: completed
- phase_2: completed (checkpoint: ddd600f4)
- phase_2_complete: true

Total migrations: 5+6+7+12 = 30 sites (spec said 32; the audit count was
later refined to 30 INTERNAL_BROAD_CATCH sites - the spec's count was
from an earlier audit run before heuristics were refined).

Refs: 6333e0e6, 345dee34, ae62a3f5, ddd600f4
2026-06-18 20:03:17 -04:00
ed 2a6e971654 conductor(state): Mark Task 2.3 complete (6 project-op sites migrated)
Refs: 345dee34
2026-06-18 19:55:35 -04:00
ed e8879a93a0 conductor(plan): Mark Task 2.2 complete (5 callback sites migrated to Result)
Task 2.2: Migrated 5 INTERNAL_BROAD_CATCH sites in src/app_controller.py:
- _handle_custom_callback (L537)
- _handle_click (L579)
- cb_load_prior_log inner json.dumps (L2046)
- cb_load_prior_log inner datetime (L2068)
- cb_load_prior_log outer (L2081)

Note: spec listed 5 sites in Batch 1 (537, 579, 2046, 2068, 2081) - all migrated.

Refs: 6333e0e6
2026-06-18 19:53:12 -04:00
ed 60818b6c4e conductor(plan): Mark Task 2.1 complete (test scaffolding)
Task 2.1: Created tests/test_app_controller_result.py with 5 Result-pattern tests.
2 pass, 3 fail as migration targets. Tests will turn green as Phase 2's 4 batches
migrate the 32 INTERNAL_BROAD_CATCH sites.

Refs: 142d0474
2026-06-18 19:42:31 -04:00
ed c4569cda25 research(fable_review): Cluster 6 sub-report (evenhandedness & contested content) 2026-06-18 19:42:16 -04:00
ed 75a11fb09a conductor(plan): Mark Phase 1 complete (regression fix verified)
Phase 1 = Setup + Fix the regression. 4 atomic commits (Tasks 1.3 + 1.4 + 1.5/1.6):
- 26e57577: fix(app_controller) _offload_entry_payload unwraps Result
- 4b07e934: test(app_controller) 2 new tests for the unwrap path
- 7b823fd0: conductor(state) Phase 1 complete

The regression in _offload_entry_payload (TypeError on Result path) is fixed
and locked in by 2 new unit tests. test_execution_sim_live still fails in
this sandbox due to no Gemini API access, but the offload bug is no longer
the blocker (it was fixed; the test would fail for a different reason even
without the offload bug). 885 unit tests pass; no regressions.

Refs: 7b823fd0
2026-06-18 19:39:33 -04:00
ed 7b823fd0e8 conductor(state): Mark Phase 1 complete (regression fix verified)
- t1_3, t1_4, t1_5: completed
- phase_1: completed
- regression_1_fixed: true (the offload Result unwrap bug is fixed)
- batched_suite_no_new_regressions: true (tier-1: 885 passed, was 883, +2 from new tests)

test_execution_sim_live still fails in this sandbox due to no Gemini API
access. The offload regression is fixed (the test would have failed
unrelated to the offload even before my fix). The fix is verified via
the 2 new unit tests in tests/test_app_controller_offloading.py.
2026-06-18 19:39:14 -04:00
ed 5d00581234 conductor(plan): Mark Task 1.4 complete (offloading Result unwrap tests)
Task 1.4: 2 new tests in tests/test_app_controller_offloading.py cover the
Result unwrap happy path and the error path with logging.debug assertion.

Refs: 4b07e934
2026-06-18 19:33:37 -04:00
ed 4b07e9341c test(app_controller): offloading - verify Result unwrap in success and error paths
Adds 2 tests to tests/test_app_controller_offloading.py covering the
fix from commit 26e57577:

1. test_offload_entry_payload_tool_call_unwraps_result
   - Confirms _on_comms_entry with kind=tool_call produces a [REF:script_NNNN.ps1]
     reference in payload['script'] and the offloaded file exists with the
     original script content. This is the canonical happy path that exercises
     the unwrap ref_result.ok + ref_result.data branch.

2. test_offload_entry_payload_preserves_script_on_log_tool_call_error
   - Mocks session_logger.log_tool_call to return Result(errors=[...]) and
     asserts that payload['script'] is preserved unchanged AND a debug log
     is emitted via caplog. This is the failure-path that exercises the
     ref_result.errors branch with logging.debug per Heuristic #19.

Both tests use the existing tmp_session_dir and app_controller fixtures
from test_app_controller_offloading.py. The Result / ErrorInfo / ErrorKind
imports are added to the test file's import block.

Refs: 26e57577 (Task 1.3 fix)
Refs: spec.md FR5
2026-06-18 19:33:10 -04:00
ed e8a4ede534 conductor(plan): Mark Task 1.3 complete (regression fix for _offload_entry_payload)
Task 1.3: src/app_controller.py _offload_entry_payload now unwraps the Result
returned by session_logger.log_tool_call. The half-migrated function returned
Result[data=str | None] but the call site did Path(ref_path).name, raising
TypeError on every tool_call event.

Refs: 26e57577
2026-06-18 19:32:52 -04:00
ed 26e5757760 fix(app_controller): _offload_entry_payload unwraps Result from session_logger
Regression fix: session_logger.log_tool_call was partially migrated to return
Result[data=str(ps1_path) | None] but the call site in _offload_entry_payload
still did Path(ref_path).name on the Result object, raising TypeError.

The fix wraps the call to log_tool_call in an isinstance(ref_result, Result)
guard and unwraps .ok / .data to produce the [REF:filename] reference. On
errors, a logging.debug is emitted (per Heuristic #19) and the payload is
preserved unchanged.

Also adds import logging to the module top and rom src.result_types
import Result, ErrorInfo, ErrorKind to support the convention's 'AND over OR'
pattern at this call site.

The log_tool_output call site is unchanged because log_tool_output still
returns Optional[str] (not Result); applying the unwrap pattern there would
crash. The spec's illustrative code treated both functions as Result-based,
but only log_tool_call was actually half-migrated.

Refs: conductor/tracks/result_migration_app_controller_20260618 (FR5)
Refs: tests/test_app_controller_offloading.py:test_offload_entry_payload_tool_call_unwraps_result
Refs: tests/test_app_controller_offloading.py:test_offload_entry_payload_preserves_script_on_log_tool_call_error
2026-06-18 19:32:08 -04:00
ed 7da335d196 conductor(track): fable_review_20260617 phase 1 — skeleton report + side artifacts
4 skeleton files: report.md (17 section headers; will be filled by Tier 1 in phase 3), comparison_table.md (5 sample rows; will be filled by Tier 1 in phase 4), decisions.md (3 sample entries; will be filled by Tier 1 in phase 4), nagent_takeaways_fable_20260617.md (17th takeaway placeholder; will be filled by Tier 1 in phase 4). state.toml updated to current_phase = 1.

Fable artifact at docs/artifacts/Fable System Prompt.md is NOT staged. Verified.
2026-06-18 19:23:18 -04:00
ed 58fe3063d8 move more tracks (completed) to archive 2026-06-18 18:59:05 -04:00
ed 93d906fb7b move tracks to archive 2026-06-18 18:50:48 -04:00
ed cf8e0ea8f3 fix(tier2): reconcile slash command with Tier 2's project-relative paths
Same reconciliation as the agent prompt (previous commit). Three
paths in conductor/tier2/commands/tier-2-auto-execute.md now match
the actual code defaults:

  - Pre-flight step 3: scripts/tier2/state/ -> tests/artifacts/tier2_state/
  - Protocol step 3: scripts/tier2/state/ -> tests/artifacts/tier2_state/
  - 'Temp files' convention: scripts/tier2/state/ and scripts/tier2/failures/
    -> tests/artifacts/tier2_state/ and tests/artifacts/tier2_failures/

The user must re-bootstrap the Tier 2 clone to pick up the fixed
template (pwsh -File scripts/tier2/setup_tier2_clone.ps1).

Refs: conductor/tracks/tier2_no_appdata_20260618 (post-merge followup)
2026-06-18 18:26:26 -04:00
ed a16c9e4764 fix(tier2): reconcile agent prompt with Tier 2's project-relative paths
Tier 2 (in commit 923d360d) relocated the failcount state and failure
report defaults from 'scripts/tier2/state/' to 'tests/artifacts/tier2_state/'
(matching the workspace_paths.md styleguide). This commit reconciles
the agent prompt with the actual code path:

  - 'Temp files' convention: scripts/tier2/state/<track>/state.json
    -> tests/artifacts/tier2_state/<track>/state.json
  - 'Temp files' convention: scripts/tier2/failures/
    -> tests/artifacts/tier2_failures/
  - Example audit output: scripts/tier2/state/audit_initial.json
    -> tests/artifacts/tier2_state/audit_initial.json
  - 'Failcount Contract' state path updated to match.

The user must re-bootstrap the Tier 2 clone to pick up the fixed
template (pwsh -File scripts/tier2/setup_tier2_clone.ps1).

Refs: conductor/tracks/tier2_no_appdata_20260618 (post-merge followup)
2026-06-18 18:25:55 -04:00
ed 5107f3cad9 Merge branch 'tier2/live_gui_test_fixes_20260618' into tier2/result_migration_small_files_20260617
# Conflicts:
#	conductor/tracks/live_gui_test_fixes_20260618/state.toml
#	docs/reports/RESULT_MIGRATION_SMALL_FILES_20260617.md
#	docs/reports/TRACK_COMPLETION_result_migration_small_files_20260617.md
#	scripts/tier2/failcount.py
#	scripts/tier2/write_report.py
2026-06-18 17:55:05 -04:00