Private
Public Access
108 lines
5.6 KiB
JSON
108 lines
5.6 KiB
JSON
{
|
|
"track_id": "directive_hotswap_harness_20260627",
|
|
"name": "Directive Hot-Swap Harness (OpenCode Directive Presets)",
|
|
"status": "active",
|
|
"branch": "master",
|
|
"created": "2026-06-27",
|
|
"owner": "Tier 1 (initialized); implementation delegated to Tier 2/3.",
|
|
"blocked_by": [],
|
|
"blocks": ["directive_encoding_experiments (future; alternative v2+ variant authoring)", "manual_slop_directive_lab (future; GUI integration)"],
|
|
"scope": {
|
|
"new_files": [
|
|
"conductor/directives/<48 directive directories>/v1.md (48 files)",
|
|
"conductor/directives/presets/current_baseline.md",
|
|
"docs/reports/TRACK_COMPLETION_directive_hotswap_harness_20260627.md"
|
|
],
|
|
"modified_files": [
|
|
".opencode/agents/tier1-orchestrator.md (replace hardcoded reading list with warm with:)",
|
|
".opencode/agents/tier2-tech-lead.md (same)",
|
|
".opencode/agents/tier3-worker.md (same)",
|
|
".opencode/agents/tier4-qa.md (same)",
|
|
"conductor/tier2/agents/tier2-autonomous.md (same)"
|
|
],
|
|
"deleted_files": []
|
|
},
|
|
"estimated_effort": {
|
|
"method": "scope (per workflow.md Tier 1 Track Initialization Rules. NO day estimates.)",
|
|
"phase_1": "10 steps: harvest 48 directives from doc tree into conductor/directives/ with exact source file:line refs",
|
|
"phase_2": "8 steps: baseline preset + 5 role-prompt warm with: updates",
|
|
"phase_3": "4 steps: verification + end-of-track report"
|
|
},
|
|
"verification_criteria": [
|
|
"48 directive directories exist under conductor/directives/, each with a v1.md file",
|
|
"Each v1.md has a header annotating the source location (file:line) and why this iteration exists",
|
|
"conductor/directives/presets/current_baseline.md exists and lists all 48 directives",
|
|
"All 5 tier role prompts have a 'warm with: conductor/directives/presets/current_baseline.md' line",
|
|
"Non-directive reads (AGENTS.md, workflow.md, edit_workflow.md, forbidden-files.txt, guide_*.md) remain hardcoded in the role prompts",
|
|
"Original docs are NOT modified (conductor/directives/ is a parallel structure)",
|
|
"No scripts, no TOML, no build steps — markdown-only",
|
|
"docs/reports/TRACK_COMPLETION_directive_hotswap_harness_20260627.md exists"
|
|
],
|
|
"regressions_and_pre_existing_failures": [],
|
|
"pre_existing_failures_remaining": [],
|
|
"deferred_to_followup_tracks": [
|
|
{
|
|
"title": "Alternative encoding authoring (v2+ variants)",
|
|
"description": "Author v2_rationale_first.md, v3_before_after.md, v4_tabular.md etc. per directive. The actual experimentation.",
|
|
"track_status": "not yet initialized"
|
|
},
|
|
{
|
|
"title": "Manual Slop Directive Lab (GUI integration)",
|
|
"description": "A Directive Lab panel in Manual Slop for virtualized directive selection + context aggregation.",
|
|
"track_status": "not yet initialized"
|
|
},
|
|
{
|
|
"title": "Token-cost analysis tooling",
|
|
"description": "Measure token cost per directive variant. Compare compliance vs token cost.",
|
|
"track_status": "not yet initialized"
|
|
},
|
|
{
|
|
"title": "Automated compliance testing",
|
|
"description": "Test harness to measure LLM compliance per encoding (does the LLM follow the directive?).",
|
|
"track_status": "not yet initialized"
|
|
},
|
|
{
|
|
"title": "Video Analysis Campaign 2 (4 new videos)",
|
|
"description": "Separate campaign; follows the 3-pass pattern. May inform alternative encoding strategies.",
|
|
"track_status": "not yet initialized; separate track"
|
|
}
|
|
],
|
|
"risk_register": [
|
|
{
|
|
"id": "R1",
|
|
"description": "Harvest completeness: directives embedded in prose may be missed",
|
|
"likelihood": "medium",
|
|
"impact": "the baseline preset is incomplete; some directives are not swappable",
|
|
"mitigation": "systematic combing of the entire doc tree with grep; the plan's Step 1.1-1.10 cover every doc file identified in the spec's source list"
|
|
},
|
|
{
|
|
"id": "R2",
|
|
"description": "Granularity ambiguity: some directives overlap (e.g., ban_dict_any + typed_dataclass_fields are two sides of the same coin)",
|
|
"likelihood": "medium",
|
|
"impact": "the directive count is inflated by overlapping directives; preset becomes verbose",
|
|
"mitigation": "the 48-directive list is the initial best-guess; granularity is resolved iteratively as the user experiments. Merging directives is a future preset edit, not a blocker."
|
|
},
|
|
{
|
|
"id": "R3",
|
|
"description": "LLM doesn't follow the warm with: instruction reliably",
|
|
"likelihood": "low",
|
|
"impact": "the LLM doesn't read the preset or the variant files; directives are missing from context",
|
|
"mitigation": "the instruction is simple (read a file, read the files it lists) and uses the existing file-reading behavior. The Step 3.2 manual verification catches this."
|
|
},
|
|
{
|
|
"id": "R4",
|
|
"description": "Role-prompt update breaks existing Tier 2 autonomous runs",
|
|
"likelihood": "low",
|
|
"impact": "Tier 2 starts reading a different set of files; behavior changes",
|
|
"mitigation": "the current_baseline preset lists the exact same directives that were hardcoded. The change is structural (where the list lives), not semantic (what the directives say)."
|
|
}
|
|
],
|
|
"campaign_context": {
|
|
"campaign_name": "Directive Encoding Campaign (Campaign A)",
|
|
"track_1": "directive_hotswap_harness_20260627 (THIS; harvest + scaffold + baseline preset + role-prompt bootstrap)",
|
|
"track_2": "directive_encoding_experiments (future; v2+ variant authoring + preset experimentation)",
|
|
"track_3": "manual_slop_directive_lab (future; GUI integration)",
|
|
"sibling_campaign": "Video Analysis Campaign 2 (Campaign B; 4 new videos; separate track)",
|
|
"cross_campaign_relationship": "Intellectual cross-pollination; no hard dependency. Video insights may surface alternative encoding strategies. The harness design mirrors the video campaign's deobfuscation pattern (same content, different encoding)."
|
|
}
|
|
} |