Skip to content

Disassembled string-surface review

This review audits strings and text in the retained Claude Code 2.1.215 artifacts for product-owned runtime mechanisms that the existing wiki did not adequately own. It follows the repository-wide coverage and structure reviews, but uses an intentionally different discovery surface: executable JavaScript strings, actual Commander registrations, file/env/endpoint-shaped literals, generated prompt candidates, and native-binary strings.

The result corrects the earlier claim that no source-answerable lifecycle remained. Two substantial mechanisms warranted new canonical pages, and several smaller mechanisms belonged in existing owners. Most unmatched strings were still telemetry vocabulary, vendored dependency material, generated documentation/examples, regex fragments, internal host protocol, or aliases for already documented systems.

Artifact identity and scope

PropertyValue
Package@anthropic-ai/claude-code@2.1.215
Build time2026-07-19T00:01:04Z
Git SHA316ce99628e89900bf0b1328fed3b8fec0c0c92d
Primary behavioral surfacecli.renamed.js — 31,833,579 bytes
Artifact-identity surfacecli.js — 20,160,986 bytes
Formatted derivativecli.formatted.js — 30,677,806 bytes
Native artifacts checkedaudio-capture.node (492,184 bytes), image-processor.node (1,464,760 bytes)
Standalone disassembly / source-atlas/Not present in this checkout; intentionally not fabricated or regenerated

“Disassembled” in the filename reflects the question that triggered the audit. The strongest readable source here is the retained Bun bundle, not an objdump/decompiler output. The raw, formatted, and semantically renamed JavaScript files are three views of one artifact, not independent implementations.

Evidence model

flowchart TD
Strings[Raw strings / literals / binary strings] --> Candidate[Candidate mechanism]
Registrations[Commander registrations] --> Candidate
Prompt[Generated prompt shards] --> Candidate
Candidate --> Flow{Executable enclosing flow?}
Flow -->|setup + state + failure + cleanup| Promote[Patch/create canonical owner]
Flow -->|alias of existing owner| Link[Record alias / precision patch]
Flow -->|dependency, example, telemetry, schema only| Reject[Keep as discovery noise]
Flow -->|native body needed| Limit[Retain evidence limit]

Evidence was ranked as follows:

  1. Enclosing executable control flow in cli.renamed.js establishes JavaScript behavior.
  2. Actual Commander .command(), .option(), and .alias() registrations establish parsed CLI surfaces; hidden/gated state remains part of the claim.
  3. Raw/formatted source helps verify that formatting or renaming did not create a literal.
  4. Generated prompt shards and embedded protocol/help text are discovery aids; they do not override executable handlers.
  5. Native exports/dependencies/strings establish shipped capability or error vocabulary, not call order, limits, thread behavior, or active consumers without JS/N-API corroboration.
  6. Vendored AWS/Google/Azure SDK, crypto, locale, syntax, HTML, and package documentation strings are rejected unless a Claude Code caller reaches them.

Scan inventory

A temporary local extractor collected exact value, source line(s), category, and whether the value already occurred in authored documentation. Generated prompt shards were excluded from the “documented” corpus so generated source text could not satisfy its own lifecycle coverage.

CategoryUnique candidatesAbsent from authored docs before reviewInterpretation
Environment-like875693Mix of public controls, test switches, feature experiments, credentials, and parent/worker handoffs.
tengu_* / gate-like1,6951,600Mostly telemetry event/outcome labels; the prefix does not mean “feature gate.”
Endpoint-like215125Mix of Claude Code routes, generated SDK resources, external providers, and examples.
File-like628531Mix of real state paths, generated prompt examples, dependency files, and regex fragments.
Actual Commander registrations888Highest-signal inventory because these came from registration calls rather than slash-like strings.

The eight initially absent registrations were:

KindRegistrationResolution
AliasautoremoveDocumented as the alias of plugin prune.
Hidden commandimport-conversations <exportPath>Added to command and transcript owners with gate/dry-run/import semantics.
MCP option--client-id <clientId>Added to custom HTTP/SSE OAuth documentation.
Root option--disable-slash-commandsAdded to the root flag inventory and runtime command-registry behavior.
Plugin-eval option--keep-tempAdded to plugin-eval cleanup semantics.
Plugin-eval option--no-scaffoldAdded with the source-confirmed default-off scaffold boundary.
XAA option--client-id <id>Added to shared IdP setup.
XAA option--issuer <url>Added with HTTPS/loopback validation.

The scan report was retained only as temporary analysis at /tmp/claude-code-string-surface-audit.json; canonical findings and decision reasons live in this page and the linked implementation docs.

Enterprise gateway server

The root command was mentioned in the startup map, and embedded gateway protocol prose existed in generated prompt shards, but no page owned the executable server lifecycle.

Direct source confirmed:

Action: created Enterprise gateway server. Client-side gateway credential/provider routing remains separate in Models, providers, and auth.

Remote-environment egress and file staging

The prompt catalog contained a long agent-proxy README and sandbox docs mentioned an egress callback, but no owner joined the active relay, working sync, filestore staging, and staged MCP file protocol.

Direct source confirmed:

  • a local HTTPS CONNECT proxy tunneled over /v1/code/agent-proxy/ws, including framed protocol v2, bounded buffering, retry, pooling, FIN, and cleanup ~929,300–930,087;
  • remote/session/token gates, CA download, trust setup, governed Git/gh, env injection, and process cleanup ~930,088–931,324;
  • /mnt/user-data/working/working optimistic sync with containment, scan/size/concurrency caps, and backoff ~948,806–949,575;
  • /uploads staging plus filestore credential mint/remint, 60-second no-byte stall, and truncation checks ~949,576–949,901; and
  • staged MCP input/output tokens, temp mediation, output containment/hard-link/size/stability checks, lane writes, and finally cleanup ~950,070–950,384.

Action: created Remote-environment egress and file staging. Hosted-session replay/control remains in Remote control and teleport, and ordinary command sandboxing remains in Sandbox and isolation.

Findings absorbed by existing owners

FindingExecutable evidenceCanonical action
Plugin evaluationCase/grader schemas, sandbox, arm runner, cost/interruption/report paths, and registrations ~657,872–660,964Added the early-access lifecycle to Plugin lifecycle and configuration.
Persistent scoped Agent memory`memory:userproject
Grove consumer terms/privacyAccount/cache/API helpers ~505,640–505,837, dialogs ~810,979–811,439, startup callersAdded Consumer terms and privacy policy plus command/startup cross-links.
Prompt/paste historyhistory.jsonl, locking/retry, 1,024-unit inline split, SHA-256-derived paste cache, skip env ~504,851–505,200Added to Terminal UI renderer and input.
Background adoption carrierExact schema, bounded old-payload merge admission, claim-by-rename, 120-second non-exit freshness, final unlink ~628,072–628,307Added to Daemon and background service.
Conversation archive importHidden registration and feature gate, ZIP/JSON admission, deterministic transcript conversion, exclusive writes, dry-run/manifest comparison ~976,900–978,670Added to Session resume and transcripts.
Auto-mode decision traceExact AUTOMODE_DECISION_LOG === "1" and best-effort append ~446,940Added to Diagnostics and debug logs.
MCP OAuth/XAA flagsmcp add HTTP/SSE options and `xaa setuplogin
CLI registration drift--cloud current hosted spelling, deprecated --remote, gateway, plugin eval/prune, disable slash commands, hidden importCorrected Command-line reference and active session/architecture pages.
Product-owned env controlsGateway controls, history/debug gates, MCP secrets, Agent-memory remap, hosted proxy/sync/staging handoffsAdded to Environment variables reference with operator/secret/internal classification.

These additions do not each become a new mechanism page. Existing owners already had the correct reader contract; splitting them would recreate the duplication that the structure review removed.

Rejected aliases and false gaps

CandidateDecision
/api/frame/* and Frame-shaped stringsExisting Artifact publication/version/live-page machinery owns this route family. “Frame” is an internal/older alias, not a new lifecycle page.
/api/features, /api/eval, /api/eval-authedGrowthBook feature evaluation already belongs to Feature gates reference. These are unrelated to plugin eval.
Thousands of tengu_* stringsMost are telemetry event names, result labels, experiment keys, or metrics. A tengu_ prefix alone does not prove a user-settable gate or independent lifecycle.
AWS/Azure/Google/Anthropic SDK endpoint inventoriesGenerated dependency contracts are not proof that Claude Code invokes each resource. Only routes reached by a product caller were promoted.
.claude/agent-registry.json, .claude/assistant-daemon-state.jsonIn this artifact they appear in ignore-pattern data, not an active storage writer/reader path.
File-like regex fragments such as -W.pidExtractor-shape false positives, not runtime filenames.
Generated prompt examples and embedded docsUseful for finding source regions, but not executable activation/state/cleanup evidence.
Unified “all remote” pageHosted sessions, Remote Control, enterprise gateway, agent egress proxy, working sync, and filestore have different identities/transports/authority and retain separate owners.

Native-binary review

Independent string/export/dependency review of audio-capture.node and image-processor.node found no additional source-provable documentation gap. Existing pages already cover:

  • exact N-API export surfaces;
  • Rust crate and dynamic-library evidence;
  • readable JavaScript shims/consumers;
  • observed error strings and safe runtime probes; and
  • the distinction between shipped exports and active CLI consumers.

The remaining questions—audio playback consumers, exact capture/playback thread and cleanup order, image concurrency/limits below the JS facade, clipboard implementation, and platform parity—require native disassembly/tracing or additional artifacts. Binary strings do not justify asserting those behaviors.

Corrections made during the audit

Independent candidate reviews were treated as hypotheses and corrected against direct source:

  • --disable-slash-commands sets shared command availability and is propagated to relaunch/remote setup; it is not merely a parser that silently drops submitted slash text.
  • plugin eval and plugin eval init are registered in this build; the Walnut Spire guard runs at action time and refuses execution when early access is off.
  • Plugin case scaffold_script is off by default and runs only with --scaffold; it is not default setup behavior.
  • adopt.json is claimed as adopt.json.<pid> and always unlinked after read. This claim path does not rename corruption to .expired.
  • The adopt merge guard checks the old candidate’s size/count before merging; it does not visibly re-check the final merged count in Upr().
  • Agent memory is neither AutoMem nor team memory, and team-memory service/mirror validators must not be attributed to it.
  • Grove’s missing cache causes a background refresh and skips the check for that session; stale cache returns its value while refreshing.
  • --cloud is the current hosted-session spelling; --remote is registered as its deprecated hidden alias in this build.
  • Agent proxy, enterprise gateway, and ordinary user proxy configuration are three different systems.
  • GIT_CONFIG_GLOBAL must be set before governed Git writes, but the writer trusts that caller-provided path rather than proving it is session-specific.
  • Ordinary /uploads reads stream with one 401 remint, a 60-second no-byte watchdog, and truncation checking; synchronized-file reconciliation uses a separate 30-second arraybuffer fetch without those stream controls.
  • Gateway telemetry relay can synthesize a catch-all managed payload without an explicit managed: block, and its discovery scopes_supported list omits the offline_access scope requested by the default outbound IdP authorization flow.

Residual interpretation rules

After the documentation updates, an unmatched literal remains a review lead—not proof of a missing page. Promote only when all of these can be answered from the retained artifact:

  1. What executable entrypoint or caller activates it?
  2. What state or authority does it own?
  3. What are the success, failure, and cleanup paths?
  4. Is it materially independent from an existing canonical owner?
  5. Is the behavior client-proven rather than generated SDK/server/native speculation?

This standard intentionally leaves many environment/test/rollout strings out of the public reference. Documenting every internal switch would reduce accuracy by presenting unstable parent/worker protocol as operator configuration.

Documentation result

The follow-up adds two canonical mechanism pages:

DomainPrevious countAdded ownerNew count
Sessions, persistence, and remote9Remote-environment egress and file staging10
Operations and native support9Enterprise gateway server10

Other domain counts remain 10 runtime, 8 context/model, 15 tools/security, and 10 agents/automation. Canonical arithmetic is therefore 10 + 8 + 15 + 10 + 10 + 10 = 63.

Validation

  • Independent source-versus-doc reviews covered the enterprise gateway, remote-runner egress/staging, all absorbed findings, and the resulting information architecture. Material corrections were applied; each was rechecked against executable branches rather than accepted from review prose alone.
  • The residual scan found every promoted priority string in authored docs and resolved all eight registrations that were absent before the audit. Broad residual absence remains expected: 676 environment-like, 1,598 tengu_*/gate-like, 113 endpoint-like, and 512 file-like strings are still absent because the corpus intentionally rejects internal/test/vendor/generated/telemetry noise. Remaining exact Commander-signature mismatches were already-documented commands/options whose prose omits the full argument signature.
  • The final source inventory contains 100 Markdown sources and 100 unique H1 titles. docs/SUMMARY.md has 99 unique Markdown targets; all resolve.
  • The Starlight sidebar has 91 unique routes with no duplicates or missing source pages.
  • A repository-wide authored-doc scan checked 2,381 relative links, including 144 heading fragments, against the generated HTML. All file and fragment targets resolve.
  • Production npm run build loaded 100 docs and generated 101 pages. Pagefind indexed all 101 HTML files and sitemap generation completed. The only warning was Vite’s existing advisory for chunks larger than 500 kB after minification.
  • Assertions checked all three new routes plus 21 critical new heading IDs across the new and extended owner pages; all passed.
  • Editor diagnostics and git diff --check passed. Every checked Markdown/config file ends with a newline after the final normalization pass.
  • No path under claude-code-pkg/ or source-atlas/ changed; the absent source-atlas/ was intentionally not regenerated.

Created and maintained by Yingting Huang.