Skip to content

feat: support opt-in automatic compact adviser across fleet launches - #34

Merged
MrGTV-love merged 18 commits into
mainfrom
fm/fm-compact-adviser-fleet
Oct 7, 2026
Merged

MrGTV-love merged 18 commits into
mainfrom
fm/fm-compact-adviser-fleet

Conversation

@MrGTV-love

@MrGTV-love MrGTV-love commented Oct 6, 2026 •

Copy link
Copy Markdown
Owner

Intent

we installed this, but I do not have the perception that it is being utilized by firstmate, secondmates, crewmates or any other agent running in the vernant repo. https://github.com/kunchenguid/compact-adviser \ this would be helpful wouldn't it? Also, what is the status of our Jev workstream? compact-adviser also uses Jev. Jev is a massive potential value unlock both for the agentic build processes and the Vernant runtime.

on jev -- when I say use Jev often, it should be used for compaction (hopefully compaction-adviser is now in use), should be used to pick skills, I really like how this developer is using Jev: https://github.com/disler/ten-levels-of-jev (Level 7: Should I Compact - four questions after every turn, four tiers back: turn end hook, on demand tool, pick the cut point)

Jev should already be used for compaction -- we did implement https://github.com/kunchenguid/compact-adviser

please verify it is though

Utilizing Jev often is important. It will improve quality, accuracy, speed, while also reducing costs substantially.

Verified 2026-09-30 by firstmate: compact-adviser 0.1.5 is installed for Claude Code (enabled plugin) and omp (~/.omp/plugins, saved TypeSafe key, mode hint), but it runs in no fleet agent: every sampled Claude lane and omp worker process has COMPACT_ADVISER_DISABLE=1 (bin/fm-spawn.sh exports it unconditionally since upstream kunchenguid#4877, 2026-09-18, because hint mode has no reader in unattended sessions), and no Claude agent has CLAUDE_CODE_ENABLE_FUNCTION_HOOKS=1, which the Claude plugin needs to load.

I see. So if we use it as intended (not hint mode, but its autonomous mode), then it will be unblocked?

set this properly please

it is in the .env file in Vernant (TYPESAFE)

I am concerned that prior evaluations of jev were not constructed properly (other models), so I would instruct the workstreams not to anchor on them

the Jev workstream is also important ... if we implement Jev, it could really helpful to our current work (improve speed, quality and reduce costs)

What Changed

  • Replace unconditional compact-adviser disabling with validated per-home off/auto policies for Claude and omp, inherited by secondmates and applied across fresh, replacement, batch, remote, and filtered launches; add an emergency disable override while preserving default-off behavior.
  • Enable Claude function hooks for opted-in adviser launches without activating Calm, and clear adviser-only state from reused panes and new Herdr servers. Document plugin prerequisites, credential handling, fleet rollout, and comparison procedures.
  • Correct composer extraction so selected Claude slash-menu rows do not replace typed commands; expand launch-policy, composer, and teardown regressions and confine Herdr presentation fixtures to disposable worktree-local allocations and private Claude configuration.

Risk Assessment

✅ Low: The source changes are bounded and default-off, preserve explicit opt-ins and launch-scoped emergency controls, and introduce no substantiated correctness, privacy, or unnecessary-component findings.

Testing

Consolidated the same active run’s targeted regression checks and real launch, recovery, isolation, teardown, and dual-harness compaction evidence. Claude automatically compacted 45,222 to 3,899 tokens and preserved the checkpoint; OMP recorded a qualifying Jev score of 0.97 and native compaction with substantially reduced context. Initial fixture and startup-input problems were corrected before successful observations. Actual terminal captures are retained as rendered HTML, with a Calm terminal-grid replay PNG rather than an OS-window screenshot. This turn verified launcher readiness and cleanup without rerunning passing scenarios, broad suites, or other pipeline phases. Remote-host validation remains expressly excepted; no quality, speed, recall, or aggregate-cost improvement is claimed.

  • Live validation: ✅ go - 9 of 10 scenarios driven live against the product
Scenario Result Live Evidence
Complete a Claude settled turn through the production TeamClaude launcher and automatically compact at a checkpoint ✅ pass live claude-real-home-live-report.json; claude-real-home-auto-compacted.html; claude-real-home-final-status.html
Complete an OMP settled turn and observe real Jev judgment followed by native automatic compaction ✅ pass live live-compaction-report.json; omp-jev-decisions.json; omp-native-events.jsonl; omp-post-compaction-screen.html
Launch without adviser policy and reject malformed or unsupported policy before creating a worker ✅ pass live current-default-off.json; current-invalid-policy-refusals.json
Relaunch the same endpoint from auto to off or emergency-off without retaining managed hook activation ✅ pass live current-native-policy-ledger.json
Apply an emergency stop to every scout and ship in a batch without exporting the raw override ✅ pass live current-native-batch-emergency.json
Preserve explicit raw-command function-hook opt-in while keeping adviser-only activation from enabling Calm ✅ pass live current-calm-hook-ownership.json; current-unfiltered-raw-hook.json; current-calm-terminal-replay.png
Launch a local secondmate and its child with inherited automatic policy despite obsolete generated off state ✅ pass live current-local-secondmate-inheritance.json; current-local-secondmate-child.json
Start a fresh backend under emergency-off and later launch auto without a sticky server-wide override ✅ pass live current-fresh-server-nonsticky.json; round2-tmux-normal-state.json; zellij-boundary/round2-result.json
Tear down an owned task without killing another home’s abandoned worker ✅ pass live current-live-foreign-worker-preservation.json; targeted-interruptions.json
Propagate automatic policy and a scoped emergency stop through a real remote secondmate host ⏸️ untested no No authorized real remote host was available, and the latest recorded decisions explicitly except this scenario. Existing executed transport fixtures are not live remote-host proof. Validation would r…
Evidence: Consolidated proof, limitations, and cleanup receipts

Source: Consolidated proof, limitations, and cleanup receipts

{
  "target_commit": "f0dd557368517f358d087951583cd16a4df34db6",
  "scope": "Assigned Test phase; retained product execution from this same active run, not a new passing-scenario rerun.",
  "fresh_checks_this_turn": [
    {
      "command": "bin/fm-teamclaude-launch.sh --check",
      "exit_code": 0
    },
    {
      "command": "bin/fm-herdr-lab.sh run fm-lab-claude-live-proo-10589-29006 session list --json",
      "exit_code": 0,
      "owned_lab_absent": true
    },
    {
      "check": "Worktree .no-mistakes/test-tmp entries",
      "remaining": []
    },
    {
      "check": "Read only lab-owned session:63fd4888-6a50-495c-875f-a1deafb36137",
      "compacted": true,
      "baseline": 17434,
      "failures": 0
    }
  ],
  "claude": {
    "evidence": "claude-real-home-live-report.json",
    "launch": "Real production bin/fm-teamclaude-launch.sh with authorized real HOME in guarded Herdr lab. Final workload did not use fm-spawn; earlier native spawn/relaunch captures separately cover policy.",
    "adviser_version": "0.1.11",
    "tokensBefore": 45222,
    "tokensAfter": 3899,
    "subsequent_context_tokens": 17434,
    "continuation": "CHECKPOINT_CONFIRMED",
    "jev_evidence_limit": "Raw Jev response/score not retained because request logging stayed off. [INFERENCE] Observed real adviser automatic action consumed a qualifying Jev response: installed consumer awaits judge, returns on error/nonqualifying result, then calls native session.compact. Native automatic-compaction receipt is direct product evidence, not a network trace.",
    "settings": "Existing saved auto mode/key; launch-only --settings threshold 20000; native idle auto-compaction disabled. No shared settings/preferences edit.",
    "cleanup": "Guarded teardown 0 and fleet tripwire passed per original capture. Lab absence independently confirmed this turn. Plugin-owned session entry remains for normal retention, never hand-edited."
  },
  "omp": {
    "evidence": [
      "live-compaction-report.json",
      "omp-jev-decisions.json",
      "omp-native-events.jsonl"
    ],
    "real_jev_score": 0.97,
    "qualifies": true,
    "context_before": 81380,
    "native_tokens_before": 81389,
    "native_compaction_entry_tokens_after": 1229,
    "fresh_context_after": 529,
    "native_method": "remote",
    "cleanup": "Owned TUI and disposable lab removed during original evidence turn."
  },
  "baseline_commands": "See targeted-commands.json and current-manual-command-index.json. Initial local regression staging refusal corrected using identical tracked bytes in confined sibling source package. Startup composer/setup problems corrected before successful observations.",
  "launch_boundary_evidence": [
    "current-default-off.json",
    "current-invalid-policy-refusals.json",
    "current-native-policy-ledger.json",
    "current-native-batch-emergency.json",
    "current-calm-hook-ownership.json",
    "current-unfiltered-raw-hook.json",
    "current-local-secondmate-child.json",
    "current-fresh-server-nonsticky.json",
    "round2-tmux-normal-state.json",
    "zellij-boundary/round2-result.json",
    "current-live-foreign-worker-preservation.json",
    "targeted-interruptions.json"
  ],
  "remote_secondmate": "Untested; expressly excepted by latest recorded decisions. Transport fixtures not live remote-host evidence.",
  "visual_evidence": "Actual Claude terminal captures rendered to HTML; Calm terminal-grid replay PNG. No OS-window screenshot claimed.",
  "limits": "Synthetic functional smoke only, not recall/accuracy/speed/aggregate-cost improvement proof. No source edits, OAuth retry, credential copying, shared saved-config edit, shared lifecycle, broad suites, lint/static analysis, pipeline control, push/PR/CI.",
  "verdict": "go"
}
Evidence: Claude real-home launch and native compaction report

Source: Claude real-home launch and native compaction report

{
  "scenario": "Claude settled turn through production TeamClaude launcher and native adviser-driven automatic compaction",
  "result": "pass",
  "source_changes": false,
  "claude_version": "2.1.292",
  "model": "Haiku 4.5",
  "adviser_installed_version": "0.1.11",
  "root_cause": "Prior isolated CLAUDE_CONFIG_DIR/HOME excluded the existing normal Claude authentication; the approved real-HOME production launcher authenticated successfully.",
  "launch_path": "bin/fm-teamclaude-launch.sh (fm-spawn was not run; secondmate homes nested in the code root are refused and a pooled worktree was not allocated)",
  "lab_session": "fm-lab-claude-live-proo-10589-29006",
  "claude_session_id": "63fd4888-6a50-495c-875f-a1deafb36137",
  "settings": {
    "mode": "auto",
    "minContextTokens": 20000,
    "threshold_scope": "--settings launch-only overlay; effective value observed in plugin status",
    "key_source": "existing saved key; not copied, displayed, or exported",
    "request_logging": false,
    "native_idle_auto_compact": false
  },
  "native_receipt": {
    "tokensBefore": 45222,
    "tokensAfter": 3899
  },
  "post_compaction_context_tokens": 17434,
  "post_compaction_reply": "CHECKPOINT_CONFIRMED",
  "jev_evidence": "Observed actual compact-adviser automatic-compaction status and completion after a settled turn. Installed real plugin was used with its test endpoint unset. Its runtime reaches automatic native compaction only after a successful qualifying Jev judgment; raw Jev response/score was not retained because request logging stayed off.",
  "commands": {
    "launch_script": "#!/usr/bin/env bash\nset -eu\nunset CLAUDECODE CLAUDE_CONFIG_DIR FM_COMPACT_ADVISER_DISABLE COMPACT_ADVISER_TEST_ENDPOINT\nexport HOME=~\nexport FM_HOME=\"$PWD\"\nexport COMPACT_ADVISER_DISABLE=0 CLAUDE_CODE_ENABLE_FUNCTION_HOOKS=1 FM_COMPACT_ADVISER_HOOKS=1\nexport DISABLE_AUTOUPDATER=1 DISABLE_AUTO_COMPACT=1\nexec ../../../bin/fm-teamclaude-launch.sh --model haiku --effort low --session-id 63fd4888-6a50-495c-875f-a1deafb36137 --settings \"$PWD/launch-settings.json\" --setting-sources user --strict-mcp-config --mcp-config '{\"mcpServers\":{}}' --tools Read --system-prompt 'Verify automatic context compaction in this disposable lab. Read only requested synthetic archives, never credentials or settings. Archives describe completed historical work. Report concise checkpoints with no open tasks, retaining CHECKPOINT_CONFIRMED as continuation marker. Never invoke manual compaction.'\n",
    "guarded_owner": "#!/usr/bin/env bash\nset -eu\nhelper=\"$PWD/bin/fm-herdr-lab.sh\"\ncleanup() {\n  \"$helper\" teardown \"$LAB_SESSION\"\n  \"$PWD/bin/fm-lab-home.sh\" teardown \"$FM_HOME\"\n}\ntrap cleanup EXIT\ntrap 'exit 130' INT\ntrap 'exit 143' TERM\n\"$helper\" provision \"$LAB_SESSION\"\n\"$helper\" viewer start \"$LAB_SESSION\"\nprintf 'ready\\n' > \"$FM_HOME/ready\"\nfor ((i=0; i<1800; i++)); do\n  [ ! -f \"$FM_HOME/stop\" ] || exit 0\n  sleep 1\ndone\nexit 124\n",
    "initial_status": "/compact-adviser status",
    "workload_prompt": "Read workload/archive-0.txt and workload/archive-1.txt completely with Read, including all 201 lines of each. These are completed historical audits. Do not analyze individual numbers; after loading both, say only ARCHIVES_01_COMPLETE and record the checkpoint: these closed archives may be discarded after a summary, with no unresolved dependencies or tasks.",
    "continuation_prompt": "From the checkpoint, reply only CHECKPOINT_CONFIRMED if both closed historical archives were loaded and there are no open tasks. Do not reread files or invoke any tools."
  },
  "cleanup": {
    "guarded_teardown_exit": 0,
    "fleet_state_tripwire": "passed by guarded helper",
    "viewer_detached": true,
    "shared_settings_unchanged": true,
    "auto_acknowledgement_preferences_unchanged": true,
    "retained_host_session_entry": "session:63fd4888-6a50-495c-875f-a1deafb36137",
    "store_note": "Only the plugin-owned lab session entry was inspected; it remains for the plugin retention policy, not hand-edited. Claude owns its normal session/transcript files."
  },
  "excluded": "Broad suites, lint/static analysis, OAuth retries, credential copying, fleet or proxy lifecycle, remote-host scenario (explicitly excepted).",
  "artifacts": [
    "claude-real-home-auto-compacting.txt",
    "claude-real-home-auto-compacting.html",
    "claude-real-home-auto-compacted.txt",
    "claude-real-home-auto-compacted.html",
    "claude-real-home-post-compaction.txt",
    "claude-real-home-post-compaction.html",
    "claude-real-home-final-status.txt",
    "claude-real-home-final-status.html"
  ]
}
Evidence: Claude automatic-compaction receipt

Source: Claude automatic-compaction receipt

<!doctype html><meta charset="utf-8"><title>claude-real-home-auto-compacted</title><pre style="background:#171717;color:#eee;padding:24px;font:14px monospace;white-space:pre-wrap">
 ▐▛███▛█   Claude Code v2.1.292
▝▜██████▀  Haiku 4.5 · Claude Max
 ▝▝   ▝▝   ~/…/32d18ed9638d/01M490SW8TBFGK32KKDYZNRWDW/.no-mistakes/test-tmp/claude-live


⏺ compact-adviser: Mode: auto. Minimum: 20,000 tokens. Context: unknown. Key: saved.
  Waiting for fresh model usage. Claude Code auto-compact is off. Request log: off.
  Settings: /config (compact-adviser rows) and /compact-adviser.

❯ Read workload/archive-0.txt and workload/archive-1.txt completely with Read, including all
  201 lines of each. These are completed historical audits. Do not analyze individual
  numbers; after loading both, say only ARCHIVES_01_COMPLETE and record the checkpoint: these
  closed archives may be discarded after a summary, with no unresolved dependencies or
  tasks.

  Read 2 files

⏺ ARCHIVES_01_COMPLETE

  CHECKPOINT_CONFIRMED

  Both synthetic audit archives loaded (200 records each, all PASS CLOSED). No unresolved
  dependencies. Discardable after summary.

✻ Brewed for 10s · done 8:39 PM
  ⎿  Referenced file workload/archive-1.txt
  ⎿  Referenced file workload/archive-0.txt
  ⎿  Read ../../../../../../../.claude/rules/mcp-reference.md (43 lines)
  ⎿  Read ../../../../../../../.claude/rules/gws-safety.md (16 lines)

⏺ compact-adviser: automatic compaction completed: 45,222 to 3,899 tokens.

                                                 Conversation compacted (ctrl+o for history)
──────────────────────────────────────────────────────────────────────────────────────────────
❯
──────────────────────────────────────────────────────────────────────────────────────────────
  Haiku 4.5 ░░░░░░░░░░ 0% 0/200k claude-live:63fd4888
  ⏸ manual mode on · ← for agents
</pre>
Evidence: Claude post-compaction checkpoint and adviser status

Source: Claude post-compaction checkpoint and adviser status

<!doctype html><meta charset="utf-8"><title>claude-real-home-final-status</title><pre style="background:#171717;color:#eee;padding:24px;font:14px monospace;white-space:pre-wrap">
 ▐▛███▛█   Claude Code v2.1.292
▝▜██████▀  Haiku 4.5 · Claude Max
 ▝▝   ▝▝   ~/…/32d18ed9638d/01M490SW8TBFGK32KKDYZNRWDW/.no-mistakes/test-tmp/claude-live


⏺ compact-adviser: Mode: auto. Minimum: 20,000 tokens. Context: unknown. Key: saved.
  Waiting for fresh model usage. Claude Code auto-compact is off. Request log: off.
  Settings: /config (compact-adviser rows) and /compact-adviser.

❯ Read workload/archive-0.txt and workload/archive-1.txt completely with Read, including all
  201 lines of each. These are completed historical audits. Do not analyze individual
  numbers; after loading both, say only ARCHIVES_01_COMPLETE and record the checkpoint: these
  closed archives may be discarded after a summary, with no unresolved dependencies or
  tasks.

  Read 2 files

⏺ ARCHIVES_01_COMPLETE

  CHECKPOINT_CONFIRMED

  Both synthetic audit archives loaded (200 records each, all PASS CLOSED). No unresolved
  dependencies. Discardable after summary.

✻ Brewed for 10s · done 8:39 PM
  ⎿  Referenced file workload/archive-1.txt
  ⎿  Referenced file workload/archive-0.txt
  ⎿  Read ../../../../../../../.claude/rules/mcp-reference.md (43 lines)
  ⎿  Read ../../../../../../../.claude/rules/gws-safety.md (16 lines)

⏺ compact-adviser: automatic compaction completed: 45,222 to 3,899 tokens.

❯ From the checkpoint, reply only CHECKPOINT_CONFIRMED if both closed historical archives
  were loaded and there are no open tasks. Do not reread files or invoke any tools.

⏺ CHECKPOINT_CONFIRMED

✻ Sautéed for 2s · done 8:40 PM

⏺ compact-adviser: Mode: auto. Minimum: 20,000 tokens. Context: 17,434 (9% of the
  context limit; hint floor 0.90). Key: saved. Waiting for 20k new tokens and 3
  completed exchanges after compaction Claude Code auto-compact is off. Request log:
  off. Settings: /config (compact-adviser rows) and /compact-adviser.

──────────────────────────────────────────────────────────────────────────────────────────────
❯
──────────────────────────────────────────────────────────────────────────────────────────────
  Haiku 4.5 ░░░░░░░░░░ 8% 17k/200k claude-live:63fd4888
  ⏸ manual mode on · ← for agents
</pre>
Evidence: OMP native compaction and before/after context report

Source: OMP native compaction and before/after context report

{
  "omp_version": "18.6.3",
  "claude_version": "2.1.292",
  "model": "openai-codex/gpt-6.1-sol",
  "installed_adviser_entry": "~/.omp/plugins/node_modules/compact-adviser/src/index.ts",
  "installed_adviser_entry_sha256": "eafc5586065030a54b356a4d3615cb2fcb6e22c64f20fa821a18c1fb2580f9d0",
  "native_idle_compaction_enabled": false,
  "native_keepRecentTokens": 20000,
  "experimental_minContextTokens": 1000,
  "synthetic_ledger_lines": 1301,
  "before_context": {
    "tokens": 81380,
    "contextWindow": 272000,
    "percent": 29.919117647058822
  },
  "native_tokensBefore": 81389,
  "after_context": {
    "tokens": 529,
    "contextWindow": 272000,
    "percent": 0.19448529411764706
  },
  "jev_decision": {
    "at": "2026-10-07T01:04:05.089Z",
    "kind": "response",
    "id": "6afeff4b5a1946f2",
    "answers": {
      "done": {
        "choice": "finished",
        "probabilities": {
          "unclear": 0,
          "not_finished": 0.03,
          "finished": 0.97
        }
      },
      "shape": {
        "choice": "hands_on",
        "probabilities": {
          "unclear": 0,
          "hands_on": 1,
          "coordinating": 0
        }
      }
    },
    "score": 0.97,
    "usage": 0.29919117647058824,
    "floor": 0.8,
    "qualifies": true
  },
  "post_compaction_assistant_usage": [
    {
      "input": 881,
      "output": 32,
      "cacheRead": 0,
      "cacheWrite": 0,
      "totalTokens": 913,
      "cost": {
        "input": 0.001762,
        "output": 0.00032,
        "cacheRead": 0,
        "cacheWrite": 0,
        "total": 0.002082
      }
    },
    {
      "input": 934,
      "output": 9,
      "cacheRead": 0,
      "cacheWrite": 0,
      "totalTokens": 943,
      "cost": {
        "input": 0.0018679999999999999,
        "output": 9e-05,
        "cacheRead": 0,
        "cacheWrite": 0,
        "total": 0.0019579999999999997
      }
    }
  ],
  "checkpoint": {
    "archive_review": "complete",
    "pending_work": false
  },
  "claude_route": "fm-teamclaude-launch.sh --exec env HOME=<disposable-lab> CLAUDE_CONFIG_DIR=<disposable-lab-config> claude --plugin-dir <disposable-real-plugin>",
  "claude_result": "Stopped at Select login method; no OAuth or credential-store access attempted",
  "remote_result": "Excepted by current recorded decision; no remote host or shared lifecycle accessed",
  "setup_correction": "Initial keepRecentTokens=1000 was refused by installed adviser safety gate. Corrected disposable overlay to supported 20000 and reran fresh OMP session."
}
Evidence: Real OMP Jev decisions

Source: Real OMP Jev decisions

{
  "initial_setup_retention_guard": {
    "at": "2026-10-07T01:03:23.632Z",
    "kind": "response",
    "id": "6afeff4b5a1946f2",
    "answers": {
      "done": {
        "choice": "finished",
        "probabilities": {
          "finished": 0.98,
          "not_finished": 0.02,
          "unclear": 0
        }
      },
      "shape": {
        "choice": "hands_on",
        "probabilities": {
          "coordinating": 0,
          "unclear": 0,
          "hands_on": 1
        }
      }
    },
    "score": 0.98,
    "usage": 0.2991875,
    "floor": 0.8,
    "qualifies": true
  },
  "corrected_live_compaction": {
    "at": "2026-10-07T01:04:05.089Z",
    "kind": "response",
    "id": "6afeff4b5a1946f2",
    "answers": {
      "done": {
        "choice": "finished",
        "probabilities": {
          "unclear": 0,
          "not_finished": 0.03,
          "finished": 0.97
        }
      },
      "shape": {
        "choice": "hands_on",
        "probabilities": {
          "unclear": 0,
          "hands_on": 1,
          "coordinating": 0
        }
      }
    },
    "score": 0.97,
    "usage": 0.29919117647058824,
    "floor": 0.8,
    "qualifies": true
  }
}
Evidence: OMP post-compaction surface

Source: OMP post-compaction surface

<!doctype html><meta charset="utf-8"><title>OMP post-compaction continuation</title><style>body{background:#15171c;color:#eee}pre{font:14px/1.35 monospace}</style><pre>
                                                      ████████████
                                                         ██  ██       ▄▀▀▄ █▀▄▀▄ █▀▀▄
                                                         ██  ██       ▀▄▄▀ █ █ █ █▄▄▀
                                                         ▒▒  ██                  █
                                                             ██       v18.6.3

                                                  Tip: You can /btw to ask a side question

 ● Read .live-compaction/ledger.txt:1004-1200,1204-1301

╭─── ✎ Write: 🧾 .live-compaction/checkpoint.json · 1 line ────────────────────────────────────────────────────────────────────────────────╮
│   1 {&quot;archive_review&quot;:&quot;complete&quot;,&quot;pending_work&quot;:false}                                                                                   │
╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯

 ARCHIVE_REVIEW_COMPLETE

─────────────────────────────────────────────────── 📷 remote-compacted · 81K→1.2K · ⌃O ────────────────────────────────────────────────────


 Read only .live-compaction/checkpoint.json, confirm pending_work is false, reply CHECKPOINT_CONFIRMED and stop.


 ● Read .live-compaction/checkpoint.json

 CHECKPOINT_CONFIRMED

 π &gt; ◔ GPT-6.1-Sol &gt; 📁 …32d18ed9638d/01M490SW8TBFGK32KKDYZNRWDW &gt; $0.21 ▶─0.3%────────────────────────────────────────╎──────┃────────272K─
╰─











</pre>
Evidence: Same-endpoint filtered and unfiltered policy transitions

Source: Same-endpoint filtered and unfiltered policy transitions

{
  "notes": [
    "Real Claude Code 2.1.292 in guarded named Herdr lab, fixed nonzero viewer grid.",
    "Normal machine Claude login exists; isolated Claude store has no login. These prove process launch/control/UI behavior, not Claude model or Jev execution.",
    "Two early recovery attempts encountered pending native startup input. After settling that input, retry passed."
  ],
  "observations": [
    {
      "scenario": "claude auto unfiltered fresh",
      "observed": {
        "pane": "w3:p2",
        "shell_pid": 16867,
        "processes": [
          {
            "pid": 93572,
            "process": "claude",
            "state": {
              "COMPACT_ADVISER_DISABLE": "0",
              "FM_COMPACT_ADVISER_DISABLE": null,
              "CLAUDE_CODE_ENABLE_FUNCTION_HOOKS": "1",
              "FM_COMPACT_ADVISER_HOOKS": "1",
              "FM_TASK_ID": "claude-open"
            }
          }
        ]
      }
    },
    {
      "scenario": "current-unfiltered-auto-to-off",
      "exit": 0,
      "before": {
        "pane": "w3:p2",
        "shell_pid": 16867,
        "processes": [
          {
            "pid": 85980,
            "process": "claude",
            "state": {
              "COMPACT_ADVISER_DISABLE": "0",
              "FM_COMPACT_ADVISER_DISABLE": null,
              "CLAUDE_CODE_ENABLE_FUNCTION_HOOKS": "1",
              "FM_COMPACT_ADVISER_HOOKS": "1",
              "FM_TASK_ID": "claude-open"
            }
          }
        ]
      },
      "after": {
        "pane": "w3:p2",
        "shell_pid": 16867,
        "processes": [
          {
            "pid": 2989,
            "process": "claude",
            "state": {
              "COMPACT_ADVISER_DISABLE": "1",
              "FM_COMPACT_ADVISER_DISABLE": null,
              "CLAUDE_CODE_ENABLE_FUNCTION_HOOKS": null,
              "FM_COMPACT_ADVISER_HOOKS": null,
              "FM_TASK_ID": "claude-open"
            }
          }
        ]
      }
    },
    {
      "scenario": "current-unfiltered-off-to-auto",
      "exit": 0,
      "before": {
        "pane": "w3:p2",
        "shell_pid": 16867,
        "processes": [
          {
            "pid": 2989,
            "process": "claude",
            "state": {
              "COMPACT_ADVISER_DISABLE": "1",
              "FM_COMPACT_ADVISER_DISABLE": null,
              "CLAUDE_CODE_ENABLE_FUNCTION_HOOKS": null,
              "FM_COMPACT_ADVISER_HOOKS": null,
              "FM_TASK_ID": "claude-open"
            }
          }
        ]
      },
      "after": {
        "pane": "w3:p2",
        "shell_pid": 16867,
        "processes": [
          {
            "pid": 32759,
            "process": "claude",
            "state": {
              "COMPACT_ADVISER_DISABLE": "0",
              "FM_COMPACT_ADVISER_DISABLE": null,
              "CLAUDE_CODE_ENABLE_FUNCTION_HOOKS": "1",
              "FM_COMPACT_ADVISER_HOOKS": "1",
              "FM_TASK_ID": "claude-open"
            }
          }
        ]
      }
    },
    {
      "scenario": "current-unfiltered-auto-to-emergency-off",
      "exit": 0,
      "before": {
        "pane": "w3:p2",
        "shell_pid": 16867,
        "processes": [
          {
            "pid": 32759,
            "process": "claude",
            "state": {
              "COMPACT_ADVISER_DISABLE": "0",
              "FM_COMPACT_ADVISER_DISABLE": null,
              "CLAUDE_CODE_ENABLE_FUNCTION_HOOKS": "1",
              "FM_COMPACT_ADVISER_HOOKS": "1",
              "FM_TASK_ID": "claude-open"
            }
          }
        ]
      },
      "after": {
        "pane": "w3:p2",
        "shell_pid": 16867,
        "processes": [
          {
            "pid": 48018,
            "process": "claude",
            "state": {
              "COMPACT_ADVISER_DISABLE": "1",
              "FM_COMPACT_ADVISER_DISABLE": null,
              "CLAUDE_CODE_ENABLE_FUNCTION_HOOKS": null,
              "FM_COMPACT_ADVISER_HOOKS": null,
              "FM_TASK_ID": "claude-open"
            }
          }
        ]
      }
    },
    {
      "scenario": "current-unfiltered-emergency-to-auto",
      "exit": 1,
      "before": {
        "pane": "w3:p2",
        "shell_pid": 16867,
        "processes": [
          {
            "pid": 48018,
            "process": "claude",
            "state": {
              "COMPACT_ADVISER_DISABLE": "1",
              "FM_COMPACT_ADVISER_DISABLE": null,
              "CLAUDE_CODE_ENABLE_FUNCTION_HOOKS": null,
              "FM_COMPACT_ADVISER_HOOKS": null,
              "FM_TASK_ID": "claude-open"
            }
          }
        ]
      },
      "after": {
        "pane": "w3:p2",
        "shell_pid": 16867,
        "processes": [
          {
            "pid": 48018,
            "process": "claude",
            "state": {
              "COMPACT_ADVISER_DISABLE": "1",
              "FM_COMPACT_ADVISER_DISABLE": null,
              "CLAUDE_CODE_ENABLE_FUNCTION_HOOKS": null,
              "FM_COMPACT_ADVISER_HOOKS": null,
              "FM_TASK_ID": "claude-open"
            }
          }
        ]
      }
    },
    {
      "scenario": "current-filtered-auto",
      "exit": 1,
      "before": {
        "pane": "w3:p2",
        "shell_pid": 16867,
        "processes": [
          {
            "pid": 48018,
            "process": "claude",
            "state": {
              "COMPACT_ADVISER_DISABLE": "1",
              "FM_COMPACT_ADVISER_DISABLE": null,
              "CLAUDE_CODE_ENABLE_FUNCTION_HOOKS": null,
              "FM_COMPACT_ADVISER_HOOKS": null,
              "FM_TASK_ID": "claude-open"
            }
          }
        ]
      },
      "after": {
        "pane": "w3:p2",
        "shell_pid": 16867,
        "processes": [
          {
            "pid": 48018,
            "process": "claude",
            "state": {
              "COMPACT_ADVISER_DISABLE": "1",
              "FM_COMPACT_ADVISER_DISABLE": null,
              "CLAUDE_CODE_ENABLE_FUNCTION_HOOKS": null,
              "FM_COMPACT_ADVISER_HOOKS": null,
              "FM_TASK_ID": "claude-open"
            }
          }
        ]
      }
    },
    {
      "scenario": "current-filtered-auto-after-startup-settle",
      "exit": 0,
      "before": {
        "pane": "w3:p2",
        "shell_pid": 16867,
        "processes": [
          {
            "pid": 48018,
            "process": "claude",
            "state": {
              "COMPACT_ADVISER_DISABLE": "1",
              "FM_COMPACT_ADVISER_DISABLE": null,
              "CLAUDE_CODE_ENABLE_FUNCTION_HOOKS": null,
              "FM_COMPACT_ADVISER_HOOKS": null,
              "FM_TASK_ID": "claude-open"
            }
          }
        ]
      },
      "after": {
        "pane": "w3:p2",
        "shell_pid": 16867,
        "processes": [
          {
            "pid": 63482,
            "process": "claude",
            "state": {
              "COMPACT_ADVISER_DISABLE": "0",
              "FM_COMPACT_ADVISER_DISABLE": null,
              "CLAUDE_CODE_ENABLE_FUNCTION_HOOKS": "1",
              "FM_COMPACT_ADVISER_HOOKS": "1",
              "FM_TASK_ID": "claude-open"
            }
          }
        ]
      }
    },
    {
      "scenario": "current-filtered-auto-to-off",
      "exit": 0,
      "before": {
        "pane": "w3:p2",
        "shell_pid": 16867,
        "processes": [
          {
            "pid": 63482,
            "process": "claude",
            "state": {
              "COMPACT_ADVISER_DISABLE": "0",
              "FM_COMPACT_ADVISER_DISABLE": null,
              "CLAUDE_CODE_ENABLE_FUNCTION_HOOKS": "1",
              "FM_COMPACT_ADVISER_HOOKS": "1",
              "FM_TASK_ID": "claude-open"
            }
          }
        ]
      },
      "after": {
        "pane": "w3:p2",
        "shell_pid": 16867,
        "processes": [
          {
            "pid": 54160,
            "process": "claude",
            "state": {
              "COMPACT_ADVISER_DISABLE": "1",
              "FM_COMPACT_ADVISER_DISABLE": null,
              "CLAUDE_CODE_ENABLE_FUNCTION_HOOKS": null,
              "FM_COMPACT_ADVISER_HOOKS": null,
              "FM_TASK_ID": "claude-open"
            }
          }
        ]
      }
    },
    {
      "scenario": "current-filtered-off-to-auto",
      "exit": 0,
      "before": {
        "pane": "w3:p2",
        "shell_pid": 16867,
        "processes": [
          {
            "pid": 54160,
            "process": "claude",
            "state": {
              "COMPACT_ADVISER_DISABLE": "1",
              "FM_COMPACT_ADVISER_DISABLE": null,
              "CLAUDE_CODE_ENABLE_FUNCTION_HOOKS": null,
              "FM_COMPACT_ADVISER_HOOKS": null,
              "FM_TASK_ID": "claude-open"
            }
          }
        ]
      },
      "after": {
        "pane": "w3:p2",
        "shell_pid": 16867,
        "processes": [
          {
            "pid": 83918,
            "process": "claude",
            "state": {
              "COMPACT_ADVISER_DISABLE": "0",
              "FM_COMPACT_ADVISER_DISABLE": null,
              "CLAUDE_CODE_ENABLE_FUNCTION_HOOKS": "1",
              "FM_COMPACT_ADVISER_HOOKS": "1",
              "FM_TASK_ID": "claude-open"
            }
          }
        ]
      }
    },
    {
      "scenario": "current-filtered-auto-to-emergency-off",
      "exit": 0,
      "before": {
        "pane": "w3:p2",
        "shell_pid": 16867,
        "processes": [
          {
            "pid": 83918,
            "process": "claude",
            "state": {
              "COMPACT_ADVISER_DISABLE": "0",
              "FM_COMPACT_ADVISER_DISABLE": null,
              "CLAUDE_CODE_ENABLE_FUNCTION_HOOKS": "1",
              "FM_COMPACT_ADVISER_HOOKS": "1",
              "FM_TASK_ID": "claude-open"
            }
          }
        ]
      },
      "after": {
        "pane": "w3:p2",
        "shell_pid": 16867,
        "processes": [
          {
            "pid": 92480,
            "process": "claude",
            "state": {
              "COMPACT_ADVISER_DISABLE": "1",
              "FM_COMPACT_ADVISER_DISABLE": null,
              "CLAUDE_CODE_ENABLE_FUNCTION_HOOKS": null,
              "FM_COMPACT_ADVISER_HOOKS": null,
              "FM_TASK_ID": "claude-open"
            }
          }
        ]
      }
    },
    {
      "scenario": "current-filtered-emergency-to-auto",
      "exit": 0,
      "before": {
        "pane": "w3:p2",
        "shell_pid": 16867,
        "processes": [
          {
            "pid": 92480,
            "process": "claude",
            "state": {
              "COMPACT_ADVISER_DISABLE": "1",
              "FM_COMPACT_ADVISER_DISABLE": null,
              "CLAUDE_CODE_ENABLE_FUNCTION_HOOKS": null,
              "FM_COMPACT_ADVISER_HOOKS": null,
              "FM_TASK_ID": "claude-open"
            }
          }
        ]
      },
      "after": {
        "pane": "w3:p2",
        "shell_pid": 16867,
        "processes": [
          {
            "pid": 52335,
            "process": "claude",
            "state": {
              "COMPACT_ADVISER_DISABLE": "0",
              "FM_COMPACT_ADVISER_DISABLE": null,
              "CLAUDE_CODE_ENABLE_FUNCTION_HOOKS": "1",
              "FM_COMPACT_ADVISER_HOOKS": "1",
              "FM_TASK_ID": "claude-open"
            }
          }
        ]
      }
    }
  ]
}
Evidence: Local secondmate inherited policy and real child state

Source: Local secondmate inherited policy and real child state

{
  "command": "FM_HOME=<marked disposable secondmate> COMPACT_ADVISER_DISABLE=1 <current source>/bin/fm-spawn.sh local-child <sandbox project> --scout --backend herdr <real Claude command>",
  "exit": 0,
  "output": "spawned local-child harness=claude kind=scout window=fm-lab-compact-fleet-58297-3415:w5:p2 worktree=~/.no-mistakes/worktrees/32d18ed9638d/01M490SW8TBFGK32KKDYZNRWDW/.no-mistakes/compact-live-hknzjld3/.treehouse/project-8db0b7/3/project\nfm-gate-refuse: gate agent lifecycle permitted only against lab home ~/.no-mistakes/worktrees/32d18ed9638d/01M490SW8TBFGK32KKDYZNRWDW/.no-mistakes/compact-live-hknzjld3/secondmate-home\n",
  "inheritedPolicy": {
    "claude": "auto",
    "omp": "auto"
  },
  "childState": {
    "pane": "w5:p2",
    "shell_pid": 64674,
    "processes": [
      {
        "pid": 73414,
        "process": "claude",
        "state": {
          "COMPACT_ADVISER_DISABLE": "0",
          "FM_COMPACT_ADVISER_DISABLE": null,
          "CLAUDE_CODE_ENABLE_FUNCTION_HOOKS": "1",
          "FM_COMPACT_ADVISER_HOOKS": "1",
          "FM_TASK_ID": "local-child"
        }
      }
    ]
  }
}

Pipeline

Updates from git push no-mistakes

... (30 earlier update rounds omitted to keep the PR body within GitHub's 65536-char limit; full history is in the run log.)

🔧 **Test** - 3 issues found → auto-fixed (2) → no changes applied (6) ✅
  • Earlier in this same run: bash tests/fm-spawn-compact-adviser-disable.test.sh; the nested secondmate fixture initially hit the repository isolation guard, then passed using an isolated sibling package containing the tracked source bytes. Provenance: targeted-commands.json.
  • Earlier in this same run: bash tests/fm-spawn-compact-adviser-disable-remote.test.sh, bash tests/fm-backend-herdr-presentation-e2e.test.sh --sandbox-only, bash tests/fm-composer-lib.test.sh, and selected teardown regressions. Remote and sandbox fixtures are not live fleet proof.
  • Earlier live checks: guarded named Herdr lab provision, real Claude/OMP/Codex launches, bin/fm-control.sh policy relaunches with allowlisting absent/enabled, explicit raw-command hook opt-in, native /calm, invalid-policy refusals, emergency scout/ship batches and local secondmate child launch. Exact commands: current-manual-command-index.json and round2-testing-command-index.json.
  • Earlier live server-boundary checks: fresh emergency launch followed by configured-auto launch on isolated Herdr, tmux and Zellij servers; inspected real worker environments and retained cleanup receipts.
  • Earlier teardown checks: real task teardown preserved an exact separately grouped foreign fixture worker; targeted SIGTERM/SIGKILL checks verified exact-worker cleanup and bounded fixture lifetime.
  • Earlier scoped authentication attempts: exact merged adapter 8392f4a installed in the OMP lab with the authorized regular mode-0600 settings copy; native omp login openai-codex reached account authentication. Both isolated Claude authentication routes and the real Claude TUI required login. Exact commands: main031-retry-command-index.json.
  • This turn: read-only change/provenance inspection and reconciliation of existing product artifacts and cleanup receipts; saved final-test-evidence-disposition.json. No passing-subject reruns, OAuth retries, lint, static analysis, broad suites, lifecycle actions or source changes.

🔧 No changes applied.
2 warnings still open:

  • ⚠️ The required dual-lane autonomous-compaction proof remains blocked by isolated authentication. The previous supported OMP login reached an OpenAI account-login page requiring account-owner authentication; no supported provider API-key fallback is present in this process. Both isolated Claude authentication routes previously returned loggedIn=false and the real TUI required login. Current native help exposes no alternative that establishes authenticated lab sessions without crossing the credential/shared-store boundary. Provide lab-owned authenticated OMP and Claude sessions, including an authorized lab-only Claude adviser-key/settings route. No qualifying settled turn, actual Jev judgment, native automatic compaction, or before/after context evidence was obtained. Failed OAuth was not retried, and no operator credential store was copied or attached.
  • ⚠️ live validation verdict: inconclusive (0 of 3 scenarios were driven live against the product); untested: Complete a qualifying OMP settled turn and observe actual Jev judgment followed by native automatic compaction with reduced context, Complete a qualifying Claude settled turn and observe actual Jev judgment followed by native automatic compaction with before/after context, Propagate automatic policy and a scoped emergency stop through a real remote secondmate host
  • Live validation: ⚠️ inconclusive - 0 of 3 scenarios driven live against the product
Scenario Result Live Evidence
Complete a qualifying OMP settled turn and observe actual Jev judgment followed by native automatic compaction with reduced context ⏸️ untested no The previous authorized disposable lab successfully installed the exact merged adapter and regular mode-0600 adviser settings copy, but native omp login openai-codex required account-owner authentic…
Complete a qualifying Claude settled turn and observe actual Jev judgment followed by native automatic compaction with before/after context ⏸️ untested no Previous isolated HOME and CLAUDE_CONFIG_DIR routes both lacked authentication, and the real TUI required login. Existing normal Claude authentication does not authenticate those isolated stores. Curr…
Propagate automatic policy and a scoped emergency stop through a real remote secondmate host ⏸️ untested no Main explicitly excepted this live scenario because the fleet has no remote secondmate host and retained offline transport evidence stands. No remote endpoint was provisioned or touched; offline evide…
  • Ran command -v omp claude tmux bun node npm to confirm native tools are available.
  • Ran omp --help, omp login --help, claude --help, and claude auth --help to assess supported authentication and isolation routes.
  • Checked presence only—not values—of supported provider credential environment variables; none of the checked variables was populated.
  • Reviewed prior native authentication attempts and cleanup receipts in main031-retry-command-index.json, main031-retry-omp-prerequisite.json, and main031-retry-claude-auth-routing.json; did not retry failed OAuth.
  • Reviewed retained baseline command indexes: targeted-commands.json and current-manual-command-index.json. These document earlier targeted launch/transport regressions and product lifecycle checks; none was rerun in this scoped turn.
  • Inspected the actual adviser configuration and storage interfaces to assess lab-only settings routes; did not execute mock model/Jev fixtures.
  • Saved current-jev-compaction-auth-prerequisite.json with nonsecret prerequisite observations, cleanup accounting, and the remote-host exception.

🔧 No changes applied.
2 warnings still open:

  • ⚠️ The required dual-lane Jev/native-compaction proof remains undemonstrated. The approved OMP isolated-auth reference is unavailable: git show fails because fm/fm-compaction-bakeoff is absent from the worktree's refs, and authenticated GitHub retrieval reports no such ref. Accessing another clone or the gate bare repository is prohibited. For Claude, a workspace-local installation of the actual @karpeleslab/teamclaude CLI enabled a real launcher attempt in isolated 120x40 tmux, but the lab's default proxy endpoint was unavailable. A disposable real TeamClaude proxy could not start because it had no accounts. Provide the bake-off isolated-auth reference within the permitted worktree and a supported authenticated TeamClaude client route for the lab, without copying or attaching operator credential stores. No OAuth was retried, and no actual Jev judgment or native automatic compaction was obtained.
  • ⚠️ live validation verdict: inconclusive (0 of 3 scenarios were driven live against the product); untested: Complete a qualifying OMP settled turn and observe real Jev judgment followed by native automatic compaction with reduced context, Complete a qualifying Claude settled turn through TeamClaude and observe real Jev judgment followed by native automatic compaction with before/after context, Propagate automatic policy and a scoped emergency stop through a real remote secondmate host
  • Live validation: ⚠️ inconclusive - 0 of 3 scenarios driven live against the product
Scenario Result Live Evidence
Complete a qualifying OMP settled turn and observe real Jev judgment followed by native automatic compaction with reduced context ⏸️ untested no The installed OMP executable is available, but the specifically approved bake-off isolated-auth mechanism could not be retrieved: the local branch ref is absent, raw GitHub retrieval returns 404, and…
Complete a qualifying Claude settled turn through TeamClaude and observe real Jev judgment followed by native automatic compaction with before/after context ⏸️ untested no Installed the actual TeamClaude proxy CLI inside the disposable workspace and attempted the real Firstmate launcher in private 120x40 tmux. The lab's default proxy endpoint did not answer. A real disp…
Propagate automatic policy and a scoped emergency stop through a real remote secondmate host ⏸️ untested no The recorded decision states that this fleet has no remote secondmate host and explicitly accepts the offline remote-shape checks instead. No remote or shared fleet lifecycle actions were performed.
  • git diff --stat 03eaea6aeaec83c34e345c7c7160f3cc2797a2e3 f0dd557368517f358d087951583cd16a4df34db6 and read-only inspection of the adviser configuration, lab-home contract and TeamClaude launcher.
  • git show fm/fm-compaction-bakeoff:experiments/compaction-bakeoff/run.py, the corresponding README retrieval, and git for-each-ref --format=&#39;%(refname)&#39; &#39;*compaction-bakeoff*&#39;.
  • Raw GitHub retrieval of the approved bake-off files and authenticated gh api &#39;repos/MrGTV-love/firstmate/contents/experiments/compaction-bakeoff/run.py?ref=fm%2Ffm-compaction-bakeoff&#39; -H &#39;Accept: application/vnd.github.raw+json&#39;.
  • omp --version with disposable lab HOME and XDG_CONFIG_HOME returned omp/18.6.3; provider-key variable presence was checked without printing values.
  • Workspace-local npm installation attempts: teamclaude@0.2.7 was identified as an unrelated sprint tool; the actual proxy package @karpeleslab/teamclaude was then installed and reported version 1.1.24.
  • bin/fm-lab-home.sh create &lt;lab&gt; and tmux-dir &lt;lab&gt;; launched the real bin/fm-teamclaude-launch.sh on the private fm-lab socket with isolated HOME/configuration and a 120x40 grid, then captured its refusal.
  • Provisioned a disposable TeamClaude configuration on a random loopback port, ran the real teamclaude server --headless, captured its No accounts configured refusal, ran isolated teamclaude status, and re-attempted the real Claude wrapper.
  • Killed only the private fm-lab tmux server, successfully ran bin/fm-lab-home.sh teardown &lt;lab&gt;, and removed the disposable lab and both local npm installations.

🔧 No changes applied.
2 warnings still open:

  • ⚠️ Required dual-lane acceptance remains incomplete despite successful live OMP proof. The approved host TeamClaude route launched real Claude 2.1.292 in an isolated lab, but onboarding reached “Select login method” rather than an authenticated session. The launcher's client export matched teamclaude env --mitm. Per the recorded decision, validation stopped at that screen without OAuth retries or operator credential-store access. Provide a supported lab-owned Claude authentication route before Claude Jev judgment and native automatic compaction can be demonstrated.
  • ⚠️ live validation verdict: inconclusive (1 of 3 scenarios were driven live against the product); untested: Complete a Claude settled turn through TeamClaude and observe real Jev judgment followed by native automatic compaction, Propagate automatic policy and a scoped emergency stop through a real remote secondmate host
  • Live validation: ⚠️ inconclusive - 1 of 3 scenarios driven live against the product
Scenario Result Live Evidence
Complete an OMP settled turn and observe real Jev judgment followed by native automatic compaction ✅ pass live omp-jev-decisions.json, omp-native-events.jsonl, omp-compaction-screen.html, and omp-post-compaction-screen.html
Complete a Claude settled turn through TeamClaude and observe real Jev judgment followed by native automatic compaction ⏸️ untested no The supplied host TeamClaude CLI successfully resolved the MITM client environment, and the real launcher started Claude 2.1.292 with isolated HOME/configuration and a real disposable adviser plugin.…
Propagate automatic policy and a scoped emergency stop through a real remote secondmate host ⏸️ untested no The latest user decision keeps the real remote-host scenario excepted. No remote host or shared fleet lifecycle was accessed. Exercising it would require separately authorized remote lab access and li…
  • Read the supplied bake-off isolated-auth reference and resolved Codex authentication through omp token openai-codex, retaining the token only in process memory/environment.
  • Created disposable marked homes with bin/fm-lab-home.sh create; launched actual harnesses on private TMUX_TMPDIR=&lt;lab&gt;/tmux tmux -L fm-lab sockets with 140×40 terminal grids.
  • Ran real omp --no-extensions -e &lt;observer&gt; -e ~/.omp/plugins/node_modules/compact-adviser/src/index.ts --config &lt;isolated-overlay&gt; --model openai-codex/gpt-6.1-sol --thinking low against synthetic tool-result context.
  • Observed the initial retention safety refusal, corrected the disposable keepRecentTokens setting from 1000 to 20000, and reran a fresh OMP session with native idle compaction disabled.
  • Captured a real qualifying Jev response, native compaction events, before/after context, and a successful post-compaction CHECKPOINT_CONFIRMED continuation.
  • Resolved the approved host teamclaude env --mitm export without printing its values; launched bin/fm-teamclaude-launch.sh --exec env HOME=&lt;lab&gt; CLAUDE_CONFIG_DIR=&lt;lab-config&gt; claude --plugin-dir &lt;disposable-real-plugin&gt; and drove onboarding to the login-method screen.
  • Confirmed the launcher's host teamclaude env output matched the explicit --mitm export.
  • Captured rendered terminal HTML and product event/decision artifacts, stopped both private tmux servers, and removed disposable homes, dependencies, and worktree scaffolding. No broad suites, linters, or static analysis were run.

🔧 No changes applied.
✅ Re-checked - no issues remain.

  • Live validation: ✅ go - 9 of 10 scenarios driven live against the product
Scenario Result Live Evidence
Complete a Claude settled turn through the production TeamClaude launcher and automatically compact at a checkpoint ✅ pass live claude-real-home-live-report.json; claude-real-home-auto-compacted.html; claude-real-home-final-status.html
Complete an OMP settled turn and observe real Jev judgment followed by native automatic compaction ✅ pass live live-compaction-report.json; omp-jev-decisions.json; omp-native-events.jsonl; omp-post-compaction-screen.html
Launch without adviser policy and reject malformed or unsupported policy before creating a worker ✅ pass live current-default-off.json; current-invalid-policy-refusals.json
Relaunch the same endpoint from auto to off or emergency-off without retaining managed hook activation ✅ pass live current-native-policy-ledger.json
Apply an emergency stop to every scout and ship in a batch without exporting the raw override ✅ pass live current-native-batch-emergency.json
Preserve explicit raw-command function-hook opt-in while keeping adviser-only activation from enabling Calm ✅ pass live current-calm-hook-ownership.json; current-unfiltered-raw-hook.json; current-calm-terminal-replay.png
Launch a local secondmate and its child with inherited automatic policy despite obsolete generated off state ✅ pass live current-local-secondmate-inheritance.json; current-local-secondmate-child.json
Start a fresh backend under emergency-off and later launch auto without a sticky server-wide override ✅ pass live current-fresh-server-nonsticky.json; round2-tmux-normal-state.json; zellij-boundary/round2-result.json
Tear down an owned task without killing another home’s abandoned worker ✅ pass live current-live-foreign-worker-preservation.json; targeted-interruptions.json
Propagate automatic policy and a scoped emergency stop through a real remote secondmate host ⏸️ untested no No authorized real remote host was available, and the latest recorded decisions explicitly except this scenario. Existing executed transport fixtures are not live remote-host proof. Validation would r…
  • Earlier in this run: bash tests/fm-spawn-compact-adviser-disable.test.sh; initial nested-staging refusal was resolved by running identical tracked bytes in a confined sibling source package.
  • Earlier in this run: bash tests/fm-spawn-compact-adviser-disable-remote.test.sh, bash tests/fm-backend-herdr-presentation-e2e.test.sh --sandbox-only, selected teardown regressions, and bash tests/fm-composer-lib.test.sh.
  • Real bin/fm-spawn.sh and bin/fm-control.sh launches exercised default-off, invalid-policy refusal, filtered/unfiltered same-endpoint policy transitions, emergency batch dispatch, explicit Calm opt-in, and local-secondmate inheritance.
  • Real isolated Herdr, tmux, and Zellij launches exercised fresh-server emergency-switch isolation; native task teardown exercised foreign-worker preservation.
  • Real OMP synthetic settled turn produced a qualifying Jev response, native remote compaction, and a post-compaction continuation; commands and receipts are retained in the live-proof artifacts.
  • Real Claude 2.1.292 launched through bin/fm-teamclaude-launch.sh with the authorized existing login in a guarded Herdr lab. A launch-only threshold overlay preceded synthetic archive reads, automatic compaction, and a checkpoint-confirmation turn.
  • This turn: bin/fm-teamclaude-launch.sh --check exited 0.
  • This turn: bin/fm-herdr-lab.sh run fm-lab-claude-live-proo-10589-29006 session list --json confirmed the proof lab was absent; read-only inspection confirmed its plugin-owned compacted session state and an empty worktree test-temp directory.
✅ **Document** - passed

✅ No issues found.

✅ No issues found.

🔧 **Lint** - 1 issue found → auto-fixed ✅
  • ⚠️ linter found issues (exit code 1)

🔧 Fix applied.
✅ Re-checked - no issues remain.

✅ No issues found.

✅ **Push** - passed

✅ No issues found.

✅ No issues found.

@MrGTV-love
MrGTV-love force-pushed the fm/fm-compact-adviser-fleet branch from 22e8f9d to 178bb24 Compare October 7, 2026 02:01
@MrGTV-love MrGTV-love changed the title feat: add opt-in compact-adviser auto policy for fleet agents feat: support opt-in automatic compact adviser across fleet launches Oct 7, 2026
…lm’s incidental directory-content allowlist, which rejected validator-generated tsconfig.json; retained semantic manifest/hooks checks and real-engine validation. ci-2: gave the Herdr fixture an independent sibling code root and migrated all shared spawn/teardown helpers, preserving production secondmate containment checks. Confined lab-helper records to the sandbox and restored write permission before cleanup so read-only Git-hook directories can be removed. Updated test comments. Verification passed: scoped configured ShellCheck 0.11.0; Claude 2.1.292 strict validation at both plugin paths and its Calm plugin suites; isolated allocator/trust regression; real-Herdr boundary smoke covering alpha launch, policy inheritance, primary and both secondmate child launches, and selective teardown. All disposable sessions and verification scaffolds were removed; the default-session tripwire remained unchanged. Verification limits: the portable Calm script could not complete because PATH provides Bash 3.2, while its existing ${var@Q} syntax requires newer Bash. The full Herdr test on local 0.9.3 passed initial layout/focus/contention cases, then stopped at a separate workspace-ordering assertion before alpha; the supplied CI run used 0.7.4. Full-suite success is not claimed. No pipeline control, push, or other phase was invoked
@MrGTV-love
MrGTV-love merged commit bbe1cda into main Oct 7, 2026
21 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant