Co-authored-by: gensokyo-dev <342580529+gensokyo-dev@users.noreply.github.com> Co-authored-by: Kaoru0822 <208281322+kaoru0822-kitauji@users.noreply.github.com>
194 lines
13 KiB
Markdown
194 lines
13 KiB
Markdown
# Native architecture storage facts
|
|
|
|
An exact storage coordinate needs its space and width before it can name a
|
|
register. The previous SSH task exposed this gap: the caller uses two-byte
|
|
register:0x8 (CX), whereas the callee has eight-byte register:0x8 (RCX).
|
|
Call argument value storage and passing storage are also separate facts.
|
|
|
|
Two shared queries, `spaces` and `registers`, expose a native architecture
|
|
catalog. Queries select names/indices/exact tuples, fields and pages; identity,
|
|
architecture, provenance and coverage remain inline. Missing exact map entries
|
|
are not absent hardware storage. No containing-register substitution, SSA
|
|
equality, stack rebase, alias or live-value inference is performed. Empty names
|
|
and null spaces survive; undecodable names retain exact bytes. Names come from
|
|
the native canonical varnode_xref map, not every translator alias or symbol.
|
|
|
|
The exporter reads the existing native AddrSpaceManager and Sleigh register-map
|
|
owners. It bootstraps the selected binary with embedded specs and disabled
|
|
listing/fast function discovery, and decompiles no function. Bootstrap still
|
|
loads binary/metadata; this is not a header-only read. A bounded streaming writer
|
|
admits encoded growth before allocation. One immutable 8 MiB maximum source
|
|
backs both queries per lease, with parsed immutable views and no query-key or
|
|
cross-lease cache. Successful close clears it; failed cleanup retains its owner.
|
|
Existing function/string catalogs use the same fixed-key capture owner. Catalog
|
|
sources and decoded facts cannot be mutated by SDK consumers. SDK, CLI and both
|
|
MCP adapters share the same named contracts; common coordinate identity has one
|
|
owner. There are nineteen methods, twenty-two direct tools or four Code Mode
|
|
tools. Stock Kuna integration and other provider parity are not established.
|
|
|
|
The experiment refreshed main through `f9ccacca2` before this work. Native
|
|
upstream remains `fe01d6294eb0d1053ce343c8943646df88e143fc`, with overlay SHA-256
|
|
`d4eb3f245359f4421294e1f9c4f476ed5b58da04cc34637b5a3ca90d0e857b71`.
|
|
The copied immutable embed-specs/opt1 engine SHA-256 is
|
|
`c48ad95784ce7b26beb966b054fe103b11922c8aa8cbe7c4144f3daa1d5d45fe`.
|
|
The overlay passes forward-index and reverse-worktree application checks.
|
|
The older pinned 770ac3f2 engine returns typed `execution_failure` for the new
|
|
native command; stock 1.833 returns `capability_unavailable` before launch.
|
|
Neither failure becomes an empty register catalog.
|
|
|
|
## Real-provider checks before models
|
|
|
|
Both actual MCP adapters read the stripped Debian x86-64 `/usr/bin/ssh`, digest
|
|
`04f2ff5f506a3f332e7adeb1478a4c551ae74acdd328e6fb5c2495664d4064e6`.
|
|
All nine spaces and 1,440 register rows match their complete retained source
|
|
through public paging and Evidence reads, with source digest verification.
|
|
Exact batch lookup distinguishes CX/ECX/RCX, RDI/R15/R9D, an unmatched
|
|
three-byte slice and stack storage. Empty selections remain empty. Both queries
|
|
reuse exactly one catalog source without a function snapshot. An intentionally
|
|
unusable ambient SLEIGHHOME does not override embedded spec selection.
|
|
|
|
| Selected query | Direct wall / CPU ms | Code Mode wall / CPU ms |
|
|
| -------------------------- | -------------------- | ----------------------- |
|
|
| First space capture | 432.2 / 422.2 | 509.4 / 498.5 |
|
|
| Same-lease repeated spaces | 3.5 / 3.5 | 41.4 / 41.4 |
|
|
| Same-lease register batch | 4.0 / 4.0 | 21.3 / 21.2 |
|
|
|
|
These are actual MCP reads, not model-task measurements. CPU includes the
|
|
local verifier/client/server/native family; first captures have fresh leases
|
|
and private native caches, while OS caches are uncontrolled. Warm queries
|
|
reuse the same immutable source. Response bytes alone are not token counts.
|
|
|
|
The [Debian AArch64 OpenSSH package](https://deb.debian.org/debian/pool/main/o/openssh/openssh-client_10.0p1-7+deb13u4_arm64.deb)
|
|
was downloaded over HTTPS, extracted and neither installed nor executed.
|
|
Package digest is `e900c13c9a5267714fc2c2c1f369fe4a667c7dd4031266b1480250320f0bfcfb`;
|
|
binary digest is `de352e4ace7028d9816fd0ee9d22936bc1b5622c400d5b0b7df660df3426b068`.
|
|
Package signatures were not verified. Independent ELF headers select AArch64/LE;
|
|
the native model reports AARCH64:LE:64:v8A:default with nine spaces and 634
|
|
register rows. Full paging matches retained native source. Native x0/w0 use
|
|
register:0x4000 with widths eight/four, unlike x86 coordinates. This verifies
|
|
another real architecture catalog; big-endian binaries and comprehensive
|
|
architecture/register/alias coverage remain untested.
|
|
|
|
| Executed pre-model check | Wall s | Family CPU s | Kernel family peak MiB |
|
|
| ------------------------------------------------ | ------ | ------------ | ---------------------- |
|
|
| Storage native CLI build | 26.494 | 26.104 | 538.1 |
|
|
| Two native serializer/admission tests | 43.054 | 33.317 | 483.5 |
|
|
| 87 experiment JS tests | 5.154 | 4.939 | 82.7 |
|
|
| Direct complete catalog verifier | 1.830 | 1.618 | 198.0 |
|
|
| Code complete catalog verifier | 2.132 | 1.880 | 204.6 |
|
|
| AArch64 complete catalog verifier, initial | 8.920 | 5.523 | 194.4 |
|
|
| SDK existing zlib catalog/cache regression | 4.572 | 3.203 | 129.7 |
|
|
| Public CLI storage composition | 3.660 | 2.520 | 119.6 |
|
|
| SDK injected cleanup-failure/retry | 5.080 | 3.724 | 123.0 |
|
|
| Old pinned engine failure | 2.666 | 1.675 | 54.0 |
|
|
| Stock capability failure | 2.151 | 1.328 | 47.7 |
|
|
| Real MCP prototypes/full prior-function fidelity | 28.233 | 20.870 | 305.1 |
|
|
| Both SDK-converted MCP catalogs/schemas | 1.831 | 1.573 | 137.9 |
|
|
|
|
These resource-run receipts use one CPU, 4 GiB hard/3 GiB early-stop memory,
|
|
TasksMax192 and swap disabled. Peaks are kernel process-family accounting,
|
|
including charged file cache, not RSS. Payload-exit observations verify counters,
|
|
zero OOM events and descendant cleanup. Final whole-scope counters are unavailable.
|
|
No global repository/native corpus gate is claimed. An initial direct verifier
|
|
attempt failed at startup after moving a shared schema without its local
|
|
snapshot binding; it retained its failed receipt, was fixed before models, and
|
|
is excluded from successful-query timings. No native operation ran in that
|
|
attempt. Whole model tasks below must charge all their own attempts.
|
|
|
|
The final repeat of all 87 JS tests passes (5.052 s wall, 4.855 s CPU,
|
|
83.0 MiB family peak). A final AArch64 run also verifies exact x0/w0 named
|
|
queries against the pinned native SLEIGH definitions at AARCH64instructions.sinc
|
|
(register definitions beginning at 0x4000), in addition to complete-source
|
|
fidelity (1.932 s wall, 1.561 s CPU, 196.2 MiB peak). Both have zero OOM
|
|
events and verified payload cleanup.
|
|
|
|
## Frozen real-model comparison
|
|
|
|
The [question](storage-boundary-question.txt) and [oracle](storage-boundary-oracle.md)
|
|
extend the earlier native prototype task with exact storage-name and space
|
|
metadata requirements. Both complete actual catalogs are available. Model
|
|
runtime is frozen at `577ca5a0ae84d61a00f576feed7306b6cf54949c`; both isolated
|
|
Codex 0.161.0 runs request gpt-6.1-sol/high, in Direct → Code order. Neither
|
|
client feature flag establishes the available client tools: both lanes actually
|
|
have the common client JavaScript executor. This compares the MCP calling
|
|
adapters inside that common client surface.
|
|
|
|
Both complete answers pass the frozen oracle. They identify the owner/caller,
|
|
report all fourteen native prototype entries, native model/lock/return/error
|
|
flags, the 3/44 raw inputs and exact parameter matches, and preserve missing
|
|
matches without inferring original arity. Both use the native catalog for
|
|
CX versus RCX, R9D and the return RAX, distinguish R15 value storage from RDI
|
|
passing storage, and leave stack tuples without fabricated register names.
|
|
Code/register/stack descriptors remain separate metadata observations. Both
|
|
retain snapshot-local SSA identities, machine corroboration, unknowns and close.
|
|
|
|
Scripted checks verify every cited source against the delivered trace, retained
|
|
digest, target/engine identity, complete previous function records, prototypes
|
|
and exact input matches: ten Direct sources and twelve Code sources. Each lane
|
|
cites one native catalog and one capture per selected function. Additional
|
|
input-space counts, selected call argument/value/passing tuples and nine
|
|
independent ELF instruction sites agree; relative call/LEA destinations are
|
|
decoded from file-backed ELF segments. This source/fidelity check is separate
|
|
from reviewing the complete natural-language answer against the oracle; both
|
|
were performed. It does not prove all native recovery is machine-equivalent.
|
|
|
|
| Whole completed task | Direct | Code Mode |
|
|
| -------------------------------------------- | --------- | --------- |
|
|
| Required answer | pass | pass |
|
|
| Cumulative input tokens | 415,450 | 307,888 |
|
|
| Cached input, included above | 359,936 | 273,664 |
|
|
| Uncached input | 55,514 | 34,224 |
|
|
| Output tokens | 7,170 | 6,575 |
|
|
| Reasoning tokens, included in output | 1,802 | 1,226 |
|
|
| Actual unique model responses | 13 | 12 |
|
|
| Client executor / wait calls | 12 / 0 | 11 / 0 |
|
|
| MCP attempts, including discovery/open/close | 28 | 12 |
|
|
| Direct fact reads / Code inner API reads | 25 | 32 |
|
|
| Spaces / registers reads | 1 / 2 | 1 / 2 |
|
|
| Parameters reads | 2 | 4 |
|
|
| API / transport failures | 0 / 0 | 0 / 0 |
|
|
| Model wall seconds | 158.116 | 142.153 |
|
|
| Family wall seconds | 158.992 | 142.658 |
|
|
| Local family CPU seconds | 18.232034 | 20.391465 |
|
|
| Kernel family peak MiB | 672.0 | 636.9 |
|
|
|
|
All attempts are retained and charged; there are no failed model attempts or
|
|
retries in this pair. Summed unique per-response usage matches the runner totals.
|
|
Both use fresh leases/private native caches, preserve target/engine/runtime
|
|
fingerprints, remove isolated profiles and verify payload cleanup with zero OOM
|
|
events. Native catalog reuse is warm within the lease; remote model/OS caches,
|
|
resolved model build, remote compute and host contention remain uncontrolled
|
|
or unmeasured. The native caller capture itself took 4.432 s Direct / 5.859 s
|
|
Code; whole CPU differences cannot be attributed solely to adapter overhead.
|
|
|
|
In this one pair, Code uses 25.9% less cumulative input, 38.4% less uncached
|
|
input and 10.1% less model wall time, while local family CPU is 11.8% higher.
|
|
It performs more fact reads, including repeated cached prototypes and joins,
|
|
and only one fewer model response despite sixteen fewer MCP requests. The
|
|
earlier studies retain their mixed results. This new task adds metadata
|
|
requirements, so old question timings are not an equivalent before/after test.
|
|
No stable Code Mode advantage, traditional-provider superiority or general
|
|
complex-software effectiveness follows from this sample.
|
|
|
|
Local raw records are `ssh-storage-{direct,codemode}-v1/`, sibling `.log`,
|
|
`.trace.jsonl`, `.providers.json`, `.tools.json` and `-evidence/` under
|
|
`.cache/atomic-codemode/`. Derived checks are `storage-model-costs.json`,
|
|
`storage-answer-checks.json` and `storage-answer-review.json`. Final answer
|
|
SHA-256 values are Direct
|
|
`d5b64cfec3236cae4357160148578b597e7fe8115b62e57bc77fee7eb027d022`, Code
|
|
`0d2937dc1054e3e8405a4bbd428a3f753d2ab07c6a839d7ee798bfe7f642f69f`.
|
|
These hashes identify the reviewed answers, not an automated correctness proof.
|
|
|
|
## Resource-limited repository gate
|
|
|
|
The separate full `npm run check:fast` did not finish. The guarded run stopped
|
|
at the 3 GiB early threshold after 44.290 s; a serial retry using the installed
|
|
Turbo 2.11.7 documented `--concurrency=1` option also stopped there after
|
|
26.823 s during typecheck. Last sampled memory.events have zero OOM/kill/max
|
|
events. Payload-exit/final counters are unavailable for these aborted runs;
|
|
neither is reported as a passing full gate. The guards remained enabled and
|
|
the model trials ran after these checks terminated. Changed-module lint and
|
|
format checks, all 87 experimental JS tests and the real-provider checks above
|
|
pass. Production-wide type checking remains unverified within this resource
|
|
budget; no unrelated main code was changed to bypass it.
|