docs(roadmap): add #462 — version --output-format json envelope missing build_date field; ROADMAP #79 line 1380 cites it as exemplary while the field has never existed#3075
Closed
Yeachan-Heo wants to merge 1 commit into
Conversation
…ng build_date structured field; ROADMAP #79 line 1380 cites it as exemplary while the field has never existed (40-day drift)
Collaborator
|
Content merged to main via batch commit c881069. Closing PR. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
ROADMAP pinpoint #462 —
claw version --output-format jsonis missingbuild_dateAND ROADMAP #79 has a 40-day documentation-vs-implementation drift citing it as already-structuredDogfooded for the 2026-05-24 13:00 Clawhip pinpoint nudge (message 1508092230261539039).
The bug in one image
$ claw version --output-format json { "git_sha": "003b739d", "kind": "version", "message": "Claw Code\n Version 0.1.0\n Git SHA 003b739d\n Target x86_64-unknown-linux-gnu\n Build date 2026-05-04", "target": "x86_64-unknown-linux-gnu", "version": "0.1.0" }Note:
Build date 2026-05-04is in themessageprose but NOT a structured envelope field.Field parity audit
messageproseVersion 0.1.0versionVERSIONGit SHA 003b739dgit_shaGIT_SHATarget x86_64-unknown-linux-gnutargetBUILD_TARGETBuild date 2026-05-04DEFAULT_DATEexists atmain.rs:159-162Root cause (traced)
rust/crates/rusty-claude-cli/src/main.rs:2629-2637:Three of four prose fields re-extracted from compile-time constants; fourth (
DEFAULT_DATE) is skipped. One-line fix: add"build_date": DEFAULT_DATE,.Verification:
grep -rnE 'build_date' rust/crates/rusty-claude-cli/{src,tests}/ --include='*.rs'returns zero hits — the field name has never appeared in either source or test code.ROADMAP self-contradiction (40-day drift)
ROADMAP #79 at line 1380, filed 2026-04-17 to argue
initshould matchversion's structure, contrasts:This claim has been wrong since filing. The actual envelope is 5 fields, not 6. The contrast argument for #79 stands (version IS more structured than init), but the specific field list is inaccurate.
Why distinct from existing items
stale_binaryboolean) across version/status/doctor. Mentionsbinary_provenance/workspace_head/stale_binarybut does NOT itemize the existing-field gap onbuild_date.None document the simple fact that
version's ONE legitimate place to display build_date doesn't expose it as a structured field.Why it matters
/Build date\s+(\S+)/againstmessage— same anti-pattern as MARK #79.versionhadbuild_date, 合影 #324'sbinary_provenancework could cite it as precedent.Required fix shape
(a) Add
"build_date": DEFAULT_DATE,toversion_json_value()atmain.rs:2636.(b) Fix ROADMAP #79 line 1380 in the same commit (keep the contrast point, fix the field list).
(c) Add
output_format_contract.rsassertion thatclaw version --output-format json | jq -e '.build_date'returns a non-null string matching/^\d{4}-\d{2}-\d{2}$|^unknown$/.(d) Optional: cluster
build_dateintodoctorandstatusenvelopes (lays groundwork for #324).(e) Optional: add a
today_datefield usingchrono::Utc::today()so BUILD_DATE-vs-runtime difference is observable from one envelope (lays groundwork for #83).Acceptance check
Should print
true(currently returnsnull→ exit 1).Method honesty
Pre-grep gate caught two near-misses this tick before filing:
—
[repo owner's gaebal-gajae (clawdbot) 🦞]