From b57ce6d6a9f6e6c507af7d795d9d1463be615a0c Mon Sep 17 00:00:00 2001 From: Rongsong Shen Date: Fri, 2 Oct 2026 08:58:26 +0000 Subject: [PATCH] docs(wolf): refresh STATUS.md handoff (2026-10-02) Co-Authored-By: Claude Opus 5.5 (1M context) --- .wolf/STATUS.md | 22 ++++++++++------------ 1 file changed, 10 insertions(+), 12 deletions(-) diff --git a/.wolf/STATUS.md b/.wolf/STATUS.md index f4d7ab42..356344ce 100644 --- a/.wolf/STATUS.md +++ b/.wolf/STATUS.md @@ -5,32 +5,30 @@ --- -## ✅ Done (2026-09-27, all pushed) +## ✅ Done (2026-10-01/02, all pushed) -- **Bug records are Markdown** (`d26ff887`): one `.wolf/bugs/.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. +- **job-array-one-based-index** (spec, 30/30 tasks, validate-impl GO): job arrays numbered 1..N (LSF `name[1-N]`), `[k]` / `[a-b]` selections in REST, xcecli and the harness, `XCE_JOBINDEX`, `E_XCE_ARRAY_START0`; docs in `src/docs/xce.md` "Job arrays". Closed bug-1896. +- **Every open bug closed** (`buglog.py list --open` is empty): fixed bug-1736 (LSF CPU peak/efficiency fields, `6df644e6`), 1880 (pre-bug-1888 capture), 1892, 1897, 1898 (restart path `c73708b8`), 1899–1908, 1437 (librtti re-pin `8c7d26a9`, record updated); bug-1856 wontfix (upstream OpenWolf hook; `auto_detect=false` survives `openwolf update`). +- Spec metadata and roadmap synced (`84a93a01`); Gitea #89, #331, #335 closed. --- ## 🚀 Next phase -**Goal:** _None active._ Suggested order: `xce_test` harness bug batch → bug-1871 → spec metadata sync → a tasks-ready spec. +**Goal:** _None active._ Pick from the open items below. ### 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 fixed --commit ` — 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). +- **Checks needing a host with systemd/dbus** (this container has none): a running array element prints the right `XCE_JOBINDEX`; bug-1908's kept signal reaches a real (non-virtual) worker over IPC at RUNNING. +- **Follow-ups found during the bug work** (not logged as bugs): `xcecli jobs restart`/`peek` accept only the decimal job-ID form; bug-1736's peak/efficiency fields are not mapped into the apiserver job model or shown by xcecli; `apiserver/middleware` `TestLoadJobs` needs a live :8080 server (outside the canonical test set); pre-existing gofmt drift (`controllers/jobs.go`, `xcecli/cmd/jobs/jobs.go`); unused `REGEX_JOBID`/`REGEX_JOBARRAY_ID` in `config.h`. +- **Specs awaiting the next phase:** design review -- `controller-peers-env-fallback`, `xce-node-manager`; requirements written -- `job-status-detail-display`, `scheduler-preemption`, `scheduler-sim-decision-trace`; initialized -- `commit-batch-window`, `resource-distribution-mapping`; brief -- `component-rejoin-resync`. +- **Roadmap backlog (briefs only):** application-profile → job-sandbox-execution → job-sandbox-multinode; job-time-window → job-dependency → job-dependency-insight; rbac-persistence; scheduler-alter-pend-reasons; controller-job-cleanup. ### 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__task.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. +- **Bug records not mirrored to Gitea:** ~400 older records plus bug-1885–bug-1908. A sync without `--since`/`--ids` would create an issue for each. Default: leave them off Gitea. ---