codexclaw v0.2.29
[0.2.29] - 2026-09-19
Added
cxc memory statusreports the host memory extraction pipeline: per-kind job
counts, jobs that exhausted their retries bucketed by cause, and the newest
success. It names the store it read, because the host supports more than one
memories schema and can dual-write, and reportsunsupportedon an unfamiliar
schema rather than guessing. It deliberately publishes no eligible-backlog
number: host eligibility depends on source, age, idle time, memory mode and
current-thread exclusion, none of which are visible to a reader (#187).- SessionStart emits one bounded line when extraction is stale or jobs have
exhausted their retries, and stays silent otherwise. An unreadable store also
stays silent rather than implying the project has no memories (#185). cxc-dev§3 gains DEV-CI-EVIDENCE-01: five ways hosted CI reports nothing
while looking green, the identifying facts required before claiming it passed,
and the route for reading a completed job's log while its workflow is still
running. The escape-sequence flag is documented as version-conditional
(#195, #197).cxc-pabcdreferences/dispatch-surfaces.mdgains DISPATCH-LANE-ID-01,
DISPATCH-WAKE-01 and DISPATCH-POLL-BUDGET-01;references/delegation.mdgains
DISPATCH-CONSUME-ONCE-01 and DISPATCH-PROMOTE-01 (#189, #192, #193, #194, #198).
Changed
devis protected from deletion by a repository ruleset. The cleanup script
already listeddevamong protected branches; the exposure was configuration,
sincedelete_branch_on_mergewas enabled with no rule covering the branch, so
GitHub deleted it whenever a promotion merged. The release guide now states the
pre-merge check, the post-merge recheck, and that merging does not start a
release —release.ymltriggers only onworkflow_dispatchwithversionand
expected_sha, or av*tag (#175).cxc-dev§8 widens from token budget to resource budget: parallel lanes and
the task observing them share one external allowance, so polling competes with
the work being polled (#194).
Fixed
- The
apply_patchcomment lint applied its code patterns to every added line
without knowing the target file, so ordinary English matched the cast pattern
and prose was denied — including the bug report describing it. Added lines now
carry their target, set by the native file directives and unified headers and
reset at each boundary, and prose targets skip the code patterns. Source files
stay linted wherever they live, and all three patterns were fixed rather than
only the reported one (#196). - The
hook-trustdoctor check downgraded a stale recorded hash to a warning and
reported that hooks still run. The host excludes both untrusted and modified
hooks from execution unless trust is bypassed, so operators were told a guard
was live when it was not. Both now fail, with separate counts and repairs
preserved, and the evidence states that execution itself was not verified (#186). buildCwdContextreturned an empty string for a project with no history and for
an index that could not be read, so a broken index presented as an empty
project. The outcome is now distinguished; an empty project still injects
nothing (#190).export-paged-report.mjshanded a destination inside a missing directory to
Chromium, whose failure named the browser for a filesystem problem. The output
directory is prepared first, and a regular file occupying that path fails
naming the directory.--qa-onlycreates nothing (#181).
Known limitations
- #199, #200 remain open. They must extend the publication report model that
exists on an unmerged branch, and recovering it is a runtime migration of
roughly 1,150 lines that changes exporter exit semantics. Deferred deliberately
rather than rushed; seedevlog/_plan/260919_issue_sweep/061_wp7_recovery_decision.md. - #188 remains open. 35 of the 52 retry-exhausted memory jobs failed on context
window, and a plain requeue repeats that failure unchanged. - #191 remains open. The authentication/routing mismatch in the host quota guard
is real and untouched here; the bypass proposed in the issue does not work,
because the guard rejects a reached limit before the threshold arithmetic. - #182, #183, #184 remain open.
Changed (phase control)
- Formal P now requires an architect proposal, a main-owned executable plan and
reflection by the same architect before independent audit. C0/C1 fast paths and
explicit user limits keep their existing precedence; this adds guidance, not a
runtime gate.
Fixed (dispatch and retirement)
-
Native V2 spawn hooks preserve canonical Fernet-shaped task messages without
appending plaintext skill affordances or leaf guards. Structural validation
rejects malformed lookalikes; omission notices identify the guards that could
not be attached. Ciphertext recognition does not authenticate the message. -
Subagent waiting guidance instructed coordinators to retire workers after
about three empty waits, even when analysis could still be progressing.
waiting.mdnow requires evidence of progress or stagnation, preserves
unavailable observations, and uses non-interrupting checkpoints. Delegation
and DISPATCH-RETIRE-01 clarify actual shutdown checks and managed recovery;
cancellation or exhausted limits grant no retry or replacement. Progress
assessment remains agent-followed (#178). -
Managed dispatch now accepts explicit
task_failedreports for confirmed
stagnation or unusable final output. A recorded stopped child, task evidence
and reconciliation are required before the existing bounded handoff can run.
Provider errors keep their existing classification; cancellation and permission
denials cannot be overridden by a task-failure label (#178).
What's Changed
- [agent] docs(devlog): diff-level roadmap for the 260919 open-issue sweep by @lidge-jun in #201
- [agent] docs(release): require dev deletion protection and an explicit release dispatch by @lidge-jun in #202
- [agent] feat(pabcd): strengthen architect consultation and retain safe recovery by @thisisjun786 in #180
- [agent] feat(recall): cxc memory status, and a startup notice when the pipeline has stalled by @lidge-jun in #204
- [agent] fix(hooks): scan patch lines against their target file, and stop calling untrusted hooks harmless by @lidge-jun in #203
- [agent] docs(dispatch): lane identity, wake preflight, polling budget and one-shot report consumption by @lidge-jun in #205
- [agent] docs(dev): hosted CI evidence procedure and the completed-job log route by @lidge-jun in #206
- [agent] fix(visualizer): prepare the export output directory before printing by @lidge-jun in #207
- [agent] chore(release): prepare codexclaw 0.2.29 by @lidge-jun in #210
- [agent] test(visualizer): make the export preflight test portable on Windows by @lidge-jun in #212
- release: codexclaw 0.2.29 by @lidge-jun in #211
Full Changelog: v0.2.28...v0.2.29