myxce/.wolf/STATUS.md
Rongsong Shen eee76a75ab
chore(wolf): regenerate handoff, sync anatomy/memory bookkeeping
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-28 03:55:14 +00:00

3.8 KiB
Raw Blame History

STATUS

Single source of truth for resuming work. Read this FIRST when starting a session. Update at the end of every work phase so the next /clear resumes in 1 read.


✅ Done (2026-09-27, all pushed)

  • Bug records are Markdown (d26ff887): one .wolf/bugs/<id>.md per bug, written to .claude/skills/buglog/bug-record.md (bug-1866 = worked example). buglog.json is a generated index; 710 hook auto-detections archived in buglog-archive.json; 500 migrated records carry legacy: true. buglog.py status and the pre-commit hook enforce the standard. gitea-sync.py renders records and links fix commits; 23 issues refreshed (25d8a461).
  • bug-1866 fixed (e84a8d43): remove_worker frees 5 more strings. Worker suite 12/12.
  • HA / async-I/O group: bug-1450/1451/1728/1433/1474/1469/1741 + bug-1870 follow-up (cb1415d7); all 6 HA soak modes PASS. bug-1747 FAIL half and bug-1867 were already fixed (1d6c04c2, e4bb492a).
  • Gitea #290–#297 created; weekly report + CHANGES.md for Sep 20–26.

🚀 Next phase

Goal: None active. Suggested order: xce_test harness bug batch → bug-1871 → spec metadata sync → a tasks-ready spec.

Open items (not yet actioned)

  • xce_test harness batch (all in src/harness, small): bug-1574, 1702, 1703, 1705, 1707–1710, 1712, 1777, 1793, 1796, 1797. Use buglog.py status <id> fixed --commit <sha> — the record must meet the standard first.
  • bug-1871 (investigating): HA snapshot transfer to a rejoining standby stalls 3+ s mid-stream (2 of 4 force-snapshot runs). Suspect: edge-triggered epoll not re-signalled for data buffered while the endpoint task was blocked. Evidence: /home/claude/tmp/xce-ha-final-force-snapshot.
  • Other open bugs (25 total, buglog.py list --open): bug-1553/1580 (intermittent controller_unit_test), bug-1632/1763 (ASAN in sim tests), bug-1604, bug-1736 partial.
  • Spec metadata lag: controller-status, scheduler-sim-live-allocation, xce-test-cli-ux, scheduler-sim-diagnostics are functionally done but spec.json still reads tasks-generated.
  • Pending specs awaiting approval: controller-peers-env-fallback (design review), libxce-alloc-preason-equality (tasks, 0/8, not ready).

Files to create / edit

  • none pending

Open decisions

  • REST job output for jobs with a custom out_file/err_file: the worker never writes those paths (always /tmp/job_<id>_task<N>.out), so since bug-1508 GET /jobs/:id/output for such a job returns a permission error from the worker. Either the apiserver's resolveOutputPath() (controllers/output.go) always targets the worker's own output file, or the worker starts honouring out_file. Waiting on the user.
  • ~400 older bug records were never mirrored to Gitea. A sync without --since/--ids would create an issue for each. Default: leave them off Gitea.

📁 Active architecture

  • Stack: Go API/CLI tier (src/frontend/apiserver) fronting C daemons (src/controller, src/worker, src/scheduler); Meson-based build via src/tools/xce-build.sh, hermetic nix dev shell.
  • Bug tracking: .wolf/bugs/*.md (records) → scripts/buglog.py (CLI + checks) → .wolf/buglog.json (generated index) → scripts/gitea-sync.py (Gitea issues in nexa/xce).
  • Local-only, never committed: .claude/settings.json (hook paths rewritten for this machine), data/ (450 MB replays/logs).

🔧 Useful commands

python3 scripts/buglog.py list --open | new ... --binary <bin> | check <id> | status <id> fixed --commit <sha>
ln -sf ../../scripts/git-hooks/pre-commit .git/hooks/pre-commit   # once per clone
XCE_HA_ROUNDS=6 nix develop ./src --command bash .claude/skills/xce-test-ha/run-ha-soak.sh --sequential <dir>
python3 scripts/gitea-sync.py --dry-run --bugs --since <date> [--ids bug-N,bug-M]   # dry-run first