TASK-0002 Sub-Store engine spike - #5
Draft
lr00rl wants to merge 5 commits into
Draft
Conversation
The plugin stores one atomic endpoint document, reports vault and autosync failures, serializes dirty follow-up syncs, and strips secret-bearing response text. The alpha manifest is signed against a deterministic bundle.\n\nConstraint: Endpoint changes and autosync outcomes must remain observable without leaking credentials.\nRejected: Independent secret keys | permits torn endpoint and autosync state\nConfidence: high\nScope-risk: moderate\nDirective: Preserve atomic endpoint writes and explicit degraded status semantics.\nTested: UI tests/typecheck, Go race/vet, deterministic bundle, server-parity signature verification, GitHub CI\nNot-tested: Live Sub-Store service pending canary
Keep the Phase 1 engine comparison reproducible without touching production plugin runtime code. The harness measures goja and QuickJS-on-wazero against an externally built upstream ProxyUtils bundle, then emits JSON for the Olympus spike letter. Constraint: Phase 1 allows spike work under tools only; production Sub-Store embedding still waits on zeus's §4 ruling Constraint: Upstream Sub-Store source and generated bundles are not vendored in this commit Rejected: Commit a generated 1.2 MiB upstream bundle | the Phase 1 artifact should pin and report it without bringing generated upstream bytes into this repo Confidence: high Scope-risk: narrow Directive: Do not treat this tool module as the production engine dependency decision; it is measurement evidence for the ruling Tested: go test -race ./... in tools/substore-engine-spike Tested: go test -race ./... in system-go Tested: go test -race ./... in tools/pluginpack Tested: go run ./cmd/spike -bundle /tmp/hephaestus-substore-proxy-utils.iife.js -iterations 5 -json Not-tested: Linux runtime execution inside lattice-server plugin host
Absorb the published Sub-Store design-15 baseline before continuing TASK-0002 because integration was cut behind main. The only conflict was manifest.json; it was resolved byte-identical to origin/main to preserve the signed manifest. Constraint: Zeus letter 20260726-0736Z instructed already-cut TASK-0002 branches to merge origin/main before building against the pre-design-15 surface Constraint: Hephaestus did not alter manifest signature fields; conflict resolution kept origin/main signed content Confidence: high Scope-risk: moderate Directive: Do not rebase this branch after it is pushed; future integration reconciliation should merge, not cherry-pick Tested: git diff --check Tested: manifest.json byte-identical to origin/main after conflict resolution Not-tested: Full post-merge repo test suite not rerun yet
Design-15 added no-argument runtime methods that legitimately touch the secret host API. The conformance test still verifies that every manifest-declared runtime method is recognised by the artifact, but its host stub now denies brokered calls instead of failing the test before method recognition can be observed. Constraint: Merged origin/main introduced endpoint_status and clear_endpoint, which cannot be probed with an empty payload without reaching the host path Rejected: Remove the manifest conformance test | it is still the gate that prevents declared runtime methods from drifting away from the artifact Rejected: Require fake payload fields for no-argument methods | that would change UI-facing method semantics just to satisfy a probe Confidence: high Scope-risk: narrow Directive: Future no-argument runtime methods must keep this probe host fake; do not let conformance reach a real broker Tested: go test -race -cover ./... in system-go (74.3% coverage) Not-tested: Full UI suite after merging origin/main
lr00rl
added a commit
to LatticeNet/lattice-olympus
that referenced
this pull request
Jul 26, 2026
Record the draft PR URL so the Phase 1 spike has a durable diff surface before Phase 2 waits on the engine ruling. Constraint: Olympus requires draft PRs targeting integration for task branches Confidence: high Scope-risk: narrow Tested: gh pr create returned LatticeNet/lattice-plugin-sub-store#5 Not-tested: No merge attempted; Phase 2 still gated on zeus ruling
The qjs/wazero path is viable but the server stdout cap is the next Phase 2 risk, so the spike harness needs repeatable sweep cases instead of ad hoc edits. Constraint: Phase 2 still waits on the Olympus engine ruling; this remains spike-only tooling Rejected: Hard-code more representative cases | the cap boundary should be adjustable without another code edit Confidence: high Scope-risk: narrow Tested: go test -race -cover ./... in tools/substore-engine-spike; qjs sweep showed 4306 synthetic sing-box nodes at 1,048,553 bytes and 4307 at 1,048,762 bytes Not-tested: Production engine integration not attempted pending ruling
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.
Scope
TASK-0002 Phase 1 spike for embedding Sub-Store core in the Go backend:
tools/substore-engine-spike/for goja and QuickJS-on-wazero comparisons.origin/maininto the task branch so the branch includes the published design-15 Sub-Store baseline thatintegrationwas missing.integration.Spike Result
goja: modern syntax probes pass, but loading the Sub-Store proxy-utils IIFE panics inside goja beforeparse/produceare available.qjs/wazero: loadsProxyUtils.parseandProxyUtils.producewith only aconsoleshim; representative conversions pass.Validation
system-go:go test -race -cover ./...-> PASS, 74.3% coverage.tools/pluginpack:go test -race -cover ./...-> PASS, 71.2% package coverage.tools/substore-engine-spike:go test -race -cover ./...-> PASS.ui:npm ci && npm test && npm run typecheck && npm run build && npm run verify:build-> PASS.Olympus
Full Phase 1 findings were sent by letter to Zeus:
lattice-olympus/messages/inbox/zeus/20260726-0757Z-hephaestus-task0002-engine-spike.mdAwaiting Zeus's design §4 engine ruling before Phase 2 implementation.