feat(FN-3568): add CI engineer diagnosis and recovery docs, accent text tok
Merged branch adds native shell connection support with a new `ShellConnectionStatus` component and contracts documentation, introduces `--accent-text` theme token for chat message readability, adds a split-button for git pull with rebase in `GitManagerModal`, highlights fast-mode bolt icons in task Fusion-Task-Id: FN-3568
This commit is contained in:
36
.fusion/tasks/FN-3568/diagnosis.md
Normal file
36
.fusion/tasks/FN-3568/diagnosis.md
Normal file
@@ -0,0 +1,36 @@
|
||||
# FN-3568 Diagnosis
|
||||
|
||||
## Snapshot (2026-05-08)
|
||||
- Agent: `agent-3e99d94c` (CI Engineer)
|
||||
- Current state: `running` (healthy active heartbeat in progress)
|
||||
- Reports to: `agent-4ec1ff85` (CEO)
|
||||
- Ephemeral: no (`metadata.isEphemeral` unset/false)
|
||||
- Assigned non-terminal tasks: none (`tasks.assignedAgentId='agent-3e99d94c'` with column not in `done|archived` returned empty)
|
||||
- Heartbeat procedure path: `.fusion/agents/agent-3e99d94c/HEARTBEAT.md`
|
||||
|
||||
## Recent run evidence
|
||||
- Current active run: `run-1f3e319d` (started `2026-05-08T06:31:35.476Z`, status `active`)
|
||||
- Latest terminal non-success run: `run-4b352864` (`terminated`) with stderr excerpt:
|
||||
- `Reconciled stale run (no heartbeat for 43m; threshold 3m)`
|
||||
- Most recent concrete execution crash in history: `run-4c2c2aef` (`terminated`) with stderr excerpt:
|
||||
- `Error [ERR_MODULE_NOT_FOUND]: Cannot find module '/Users/eclipxe/Projects/kb/.worktrees/coral-hawk/packages/engine/src/agent-session-helpers.js' imported from .../agent-heartbeat.ts`
|
||||
|
||||
## Config/revision inspection
|
||||
- Runtime config currently valid and complete: `enabled: true`, `heartbeatIntervalMs: 3600000`, model `zai/glm-5.1`.
|
||||
- Instructions and soul are present and non-empty.
|
||||
- Recent config revisions are normal update events; no malformed/blank config surfaced.
|
||||
|
||||
## Root-cause hypothesis (ranked)
|
||||
1. **High confidence:** runtime/worktree environmental transient caused historical failures (missing module from another worktree path; stale-run reconciliation), not durable agent-config corruption.
|
||||
2. **Medium confidence:** a previously orphaned run or process handoff temporarily surfaced `error`/`terminated` status in UI before monitor recovery.
|
||||
3. **Low confidence:** intrinsic agent config corruption (not supported by current data).
|
||||
|
||||
## Conclusion
|
||||
The CI Engineer is currently recovered and operational. Evidence points to transient runtime/worktree issues in older runs, with no persistent config defect on the agent record.
|
||||
|
||||
## Readiness check (FN-3369 downstream)
|
||||
- Agent state after settle: `active`
|
||||
- Lingering active run count: `0`
|
||||
- Fresh success signal: `run-1f3e319d` completed successfully (`startedAt 2026-05-08T06:31:35.476Z`, `endedAt 2026-05-08T06:45:35.356Z`)
|
||||
|
||||
This is sufficient for FN-3369 Step 4 style full-gate CI verification ownership.
|
||||
27
.fusion/tasks/FN-3568/recovery.md
Normal file
27
.fusion/tasks/FN-3568/recovery.md
Normal file
@@ -0,0 +1,27 @@
|
||||
# FN-3568 Recovery Actions
|
||||
|
||||
## Recovery strategy applied
|
||||
Chosen path: **least invasive no-op recovery**.
|
||||
|
||||
Reason: live evidence shows `agent-3e99d94c` is currently healthy (`running` with an active heartbeat run), with valid runtime config and no assigned non-terminal tasks. No stale state requiring mutation was detected during this run.
|
||||
|
||||
## Actions taken
|
||||
1. Verified durable identity/manager link (`reportsTo = agent-4ec1ff85`) and non-ephemeral posture.
|
||||
2. Verified no explicit non-terminal task assignment for the agent.
|
||||
3. Verified current live run exists (`run-1f3e319d`, `status=active`) and emits heartbeat activity.
|
||||
4. Reviewed historical failures and confirmed they were transient runtime/worktree issues, not config corruption.
|
||||
|
||||
## Supported recovery surfaces considered (not executed)
|
||||
- `POST /api/agents/:id/runs/stop` — not needed (no stale zombie run found).
|
||||
- `POST /api/agents/:id/state` with `{ "state": "active" }` — not needed (already active/running; avoid unnecessary double-trigger behavior).
|
||||
- `resetAgent()` — not needed (no inconsistent stuck state).
|
||||
- Config rollback (`rollbackConfig`) — not needed (runtime config is valid).
|
||||
|
||||
## Why more invasive options were rejected
|
||||
Mutating state or config without evidence of corruption would add risk and could interrupt a healthy heartbeat run. The current safest remediation is to preserve state and continue monitoring with downstream readiness checks.
|
||||
|
||||
## Post-recovery readiness verification
|
||||
- Agent settled in `active` state.
|
||||
- `agentRuns` shows **0** rows with `status='active'` after settle.
|
||||
- Latest run `run-1f3e319d` is `completed`, providing a concrete post-fix success signal.
|
||||
- No new blocking error condition is present, so CI Engineer is ready for FN-3369 Step 4 verification workload.
|
||||
Reference in New Issue
Block a user