You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit ca7827c
Browse filesBrowse the repository at this point in the historyBrowse files
fix(init): one silently dropped flag value made three statements false
F54 — `meta init --server node`, the value the CLI's own `--help` gives as an
example, exited 0 with no warning and recorded `"servers": []`. The four missing
reference fragments were the small half.
F56 is the large half, and it is the SAME defect: a non-empty override array
suppresses both the prior manifest's stack and detection, so `["node"]` filtered
to `[]` left the scaffolded context declaring "Stack: no server, no client" and
telling the agent that this project has no `metaobjects.config.ts` — about a
project with a Fastify server, a React client, and the very config file the same
CLI had just read to run `meta gen`. One dropped value made three statements
false in the artifact whose entire job is to orient an agent correctly.
An unknown `--server` / `--client` value is now REFUSED before anything is
written, naming the vocabulary; and `node` is ACCEPTED, as an alias for
`typescript`, because the help text gives it and it is the more natural word for
a Fastify backend run by the Node CLI. Either accept it or say so — never
neither. Being accepted is not the same as being resolved, so the test asserts
`node` lands as `typescript` and not merely that it stopped throwing. The help
text is corrected too: it now names the vocabulary instead of examples, one of
which (`--client vue`) was a value this CLI has never accepted.
F53 — the scaffold manifest recorded the hash of content it DECLINED to write.
`hashContents(f.contents)` was stamped for every assembled file before the
write/decline decision, so a path whose fresh content went to `<path>.new` —
"tell, don't merge" working exactly as designed — was recorded with the hash of
the file that was not written: a value matching neither the disk nor anything
this tool had ever written, in the one record that exists to tell "still what we
scaffolded" from "hand-edited", under a `generatedBy` asserting the context was
current while the file on disk was the predecessor's text. A declined path now
keeps the PRIOR hash — what we last actually wrote, so reverting the edit lets
the next refresh see an unmodified file — and a declined path we have never
written gets no entry, because there is no true value to record.
F55 — `meta init` reports "(11 files)" while eight land under `.claude/`, which
many projects git-ignore under a comment about credentials. Ignored, they exist
only on the machine that ran the command — not committed, absent from CI and a
fresh clone, invisible to a teammate — while `.agent-context.json`, which IS
committed, records every one. That silently voids the whole downstream
agent-context design, and the answer was available from the outputs the command
had just written. Now an advisory naming the count and the directories, never an
error: ignoring `.claude/` may be exactly what the project wants.
cli 852 pass, sdk 278 pass, workspace typecheck clean.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NTcEKXTQMYt84fAjuw5A2M
0 commit comments