mirror of
https://github.com/morluto/rea.git
synced 2026-11-05 06:45:22 +00:00
Closed
opened 2026-11-01 21:48:03 +00:00 by bsakaguchi
·
0 comments
No Branch/Tag specified
main
codex/procedure-reference-stacked
release-please--branches--main--components--rea-agents
release-please--branches--main--components--rea-agents--release-notes
codex/kuna-independent-retry
codex/byte-search-overlay-coverage
codex/open-failure-target-receipt
codex/kuna-xref-evidence
codex/ghidra-ambiguous-procedure-recovery
codex/function-source-bundle
codex/trace-function-integration-prototype
codex/snapshot-source-closure
codex/recorded-evidence-array-pages
codex/evidence-recovery-redesign
codex/trace-feature-address-scope
codex/call-discovery-scope
codex/ghidra-literal-candidate-evidence
codex/decompile-directory-independent-retry
codex/retry-provenance-base
codex/value-flow-capability-experiment
codex/ghidra-containing-instruction
cursor/readme-discord-button-ef9f
dependabot/github_actions/actions/setup-node-7.1.0
dependabot/github_actions/actions/upload-artifact-7.0.2
dependabot/npm_and_yarn/npm-minor-and-patch-d8d97ce6df
codex/kuna-1989
fix/8559-native-ui-fixture-ownership
fix/8555-go-verifier-mcp-ownership
codex/provider-capability-recovery
fix/8642-rizin-target-stdin
codex/ghidra-memory-effect-scope
codex/ghidra-annotation-entry-selector
codex/ghidra-readonly-recovery
codex/ghidra-regex-verifier-recovery
codex/evidence-discovery-view-guidance
fix/8545-bulk-append-overflow
fix/8428-navigation-refusal-alternatives
codex/address-context-recovery
codex/matching-member-limitations
codex/unknown-scope-contract
codex/evidence-view-guidance
feat/8373-native-trace-views
codex/ghidra-snapshot-verifier-binding
codex/elf-export-visibility
codex/evidence-view-recovery
codex/native-reference-cli-help
codex/provider-candidate-observation-scope
codex/kuna-session-verification
codex/ghidra-switch-lifetime-guidance
codex/pseudocode-paging-discovery
codex/clarify-evidence-view-support
codex/kuna-xrefs-selector-recovery
codex/context-capacity-recovery
codex/evidence-closure-large-links
codex/same-function-evidence-identity
codex/ghidra-verifier-inspected-jdk
codex/audit-guided-workflows
codex/crash-prompt-retained-dossiers
codex/analysis-view-error-recovery
codex/kuna-verifier-target-selection
codex/ghidra-selected-project-call-coverage
codex/docs-native-analysis-scope
codex/ghidra-java-socket-boundary
codex/ghidra-retained-snapshot-verifier
codex/ghidra-search-inventory-facts
fix/8284-zero-argument-parameter-bindings
fix/8198-ui-action-handler-offset
fix/8257-elf-entry-label-identity
fix/8304-deferred-output-schema-projection
fix/8277-call-path-computed-target-uncertainty
fix/pr-8089-conflicts
fix/ci-static-duplicate-export
dependabot/npm_and_yarn/lint-staged-17.6.0
dependabot/github_actions/actions/download-artifact-8.0.2
dependabot/npm_and_yarn/write-file-atomic-8.0.0
dependabot/npm_and_yarn/canonicalize-5.1.0
dependabot/github_actions/actions/cache/restore-6.1.0
dependabot/npm_and_yarn/toon-format/toon-4.4.0
dependabot/github_actions/actions/deploy-pages-5.0.1
codex/review-fixes-pr-2403
codex/review-fixes-pr-2400
codex/process-terminal-width
codex/test-brittleness-cleanup
verify/7167-browser-connect-macos
fix/7167-browser-connect
feat/native-matching-allowance-setting
feat/browser-scenario-dry-run
test/managed-caller-parameters-20261024
codex/parser-fortythird-boundaries
fix/6926-pinvoke-platform-decorations-20261023
fix/6889-har-body-encoding-20261023
fix/6888-sqlite-schema-budget-20261023
fix/dependency-security-gates-6708
cursor/evidence-overwrite-rebase-b4ac
feat/4057-verify-native-exports
fix/windows-acl-observer-overhead-20261022
cursor/erlang-beam-restack-4476
cursor/pe-certificate-review-bf32
fix/6116-javascript-application-fs-errors
fix/6061-unmapped-runtime-script-unknown
feat/browser-scenario-summary
fix/pe-certificates
codex/verify-3407
cursor/rebase-5699
cursor/rebase-5352
cursor/rebase-5600
cursor/fix-cli-schema-omission-10a8
codex/audit-hopper-shutdown-reasons-20261021
fix/demangle-swift-omitted-record
fix/nib-boolean-value-types
cursor/cancellation-partial-observation-a5ac
fix/ib-object-limit-reasons
fix/electron-fuse-limit-advice
fix/kuna-doctor-dangling-cache
fix/fixed-budget-refusal-advice
fix/js-ipc-listener-dedup
fix/js-return-member-provenance
fix/dmg-integrity-retry-advice
fix/ida-doctor-readiness
fix/kuna-version-probe-output-drain
fix/legacy-swift-runtime-name-matching
fix/dylib-lazy-load-commands
fix/browser-scenario-startup-cancel
fix/swift-nested-punycode-classification
fix/compare-unselected-scopes
fix/objc-method-budget-coverage
fix/dmg-mounted-root-observations
audit/ci-tests-20261019-round2
release/6.7.0
fix/wabt-cleanup-retry-resolution
fix/electron-fuse-elf-pe-architecture
fix/native-plist-descriptor-ownership
fix/kuna-caller-cleanup-ownership
experiment/atomic-codemode-20261016
review/first-contributor-3776
fix/call-resolution-full-read-cycles
fix/member-mutation-selection-repeat
experiment/atomic-re-tools-20261015
perf/member-mutation-lazy-origins
perf/static-network-mutation-index
fix/hopper-startup-lifecycle
audit/3050-windows-proof-20261015
feat/windows-window-capture-2183
audit/3049-windows-proof-20261015
audit/3735-macos-fixtures-20261015
fix/batch-decompile-null-pseudocode
fix/kuna-inventory-honors-jobs
experiment/browser-codemode-tool-design-20261015
fix/hopper-clean-runtime-argv
codex/review-2049-27f1b367
review-fixes/pr-2787-routing
fix/3360-scoped-this-emitters
fix/3367-replaced-global-effects
fix/3838-compact-any-value-items
test/hopper-download-probe-20261015
codex/windows-runtime-creation-red-green-20261015
codex/windows-readonly-root-red-green-20261015
codex/windows-root-share-red-green-20261015
codex/exp-1685-win-mcp-startup
codex/bug-sweep-20261015
investigate/2190-windows-package-phases
investigate/3543-macos-cli-deadline
perf/3281-reverse-tools-feedback-quality
fix/3406-hopper-doctor-fixture
fix/3341-wrapper-require-test-context
fix/3301-owned-uninstall-fixtures
fix/3164-compiler-input-ownership
fix/pcap-cleanup-stdout-newline-20261014
perf/interface-builder-summary
codex/review-fixes-pr-1977
fix/ghidra-effective-jvm-platform
fix/docs-turkish-rust-link-20261013
fix/main-maintenance-ci-20261010
fix/recover-binary-session-process-effects
codex/review-fixes-pr-2457
codex/ci-required-cancellation-gate
fix/main-format-baseline-20261013
fix/setup-preserve-entry-fields
cursor/restore-main-checks-1ffc
fix/ghidra-bridge-hashmap-import
codex/shared-ci-jadx-json-default-20261013
codex/shared-ci-ghidra-test-groups-20261013
codex/shared-ci-java-fixture-format-20261013
codex/fix-intrinsic-invocation-boundaries
test/release-preflight-reusable-jobs
test/js-parameter-provenance-expectation
fix/linux-hopper-verification-current
test/2419-ghidra-elf-probe-size
followup/pr-1544-native-ida
codex/fold-pr-2230-contribution
docs/readme-responsible-use
fix/issue-2064
fix/issue-2050
fix/issue-2053
fix/issue-1968
fix/issue-1945
experiment/codemode-bridge-20261011
fix/tool-effects-negative-wording-1904-20261012
fix/1842-electron-interop-provenance
feat/recover-javascript-multi-input
refactor/website-i18n-prep
fix/nativeaot-pe-virtual-extent
fix/browser-verifier-ci-hang
fix/pe-resources-input-selection
docs/beginner-friendly-guides
docs/beginner-setup-guide
fix/javascript-analysis-worker-1563
fix/1649-ghidra-duplicate-names
fix/javascript-export-keys-integration-1369
test/maintenance-boundary-contracts-20261011
review/javascript-export-keys-1369
review/process-live-progress-1483
test/javascript-1495-growth-ratio
fix/ci-escape-timing
docs/normalized-terminal-geometry-1450
release/6.3.0
archive/release-6.3.0-pr1381
release/6.2.0
fix/electron-preload-dynamic-override
fix/javascript-self-referential-bundler-edges
release/6.1.0
cursor/grok-client-cherry-pick-0b56
feat/signature-posture
feat/dyld-shared-cache
feat/artifact-integrity-policy
feat/pkg-inventory
release/6.0.0
chore/sync-release-5.0.0
release/5.0.0
cursor/cloud-agent-node-787e
fix/javascript-xhr-open-endpoints
review/pr-711-realpath-fallback-wording
cleanup/replay-confinement
codex/test-suite-performance
codex/issue-foundations
codex/address-open-issues-2026-07-20
agent/javascript-vite-rollup-esbuild-adapters
agent/process-cleanup
agent/triage-integration
agent/unknown-commands-registry
feat/mcp-identity-metadata
morlvps/issue_cleanup
codex/installer-redesign
morl/roadmap-investigation-core
morl/roadmap-investigation-docs
release-please--branches--main--components--rea
rea-agents-6.8.0
rea-agents-6.7.0
rea-agents-6.6.0
experiment/atomic-codemode-wait-runtime-20261016
rea-agents-6.5.0
rea-agents-6.4.0
rea-agents-6.3.0
rea-agents-6.2.0
rea-agents-6.1.0
rea-agents-6.0.0
rea-agents-5.0.0
rea-agents-4.1.0
rea-agents-4.0.1
rea-agents-4.0.0
rea-agents-3.2.1
rea-agents-3.2.0
rea-agents-3.1.0
rea-agents-3.0.0
rea-agents-2.7.0
rea-agents-2.6.0
rea-agents-2.5.1
rea-agents-2.5.0
rea-agents-2.4.0
rea-agents-2.3.0
rea-agents-2.2.0
rea-agents-2.1.0
rea-agents-2.0.0
rea-agents-1.7.0
rea-agents-1.6.0
rea-agents-1.5.0
rea-agents-1.4.0
rea-agents-1.3.0
rea-agents-1.2.0
rea-agents-1.1.0
rea-agents-1.0.0
rea-agents-0.5.0
rea-agents-0.4.0
rea-agents-0.3.0
rea-0.2.1
rea-0.2.0
Labels
Clear labels
area: bridge
area: bridge
area: build
area: build
area: build
area: cli
area: domain
area: evidence
area: mcp
area: native
area: providers
area: runtime
area: server
area: setup
area: tests
bug
design
documentation
enhancement
enhancement
enhancement
experiment
help wanted
i18n
invalid
P0: critical
P1: high
P2: medium
P2: medium
P2: medium
P3: low
performance
provider-request
pull-request
Mirrored from GitHub Pull Request
question
roadmap
triage
No labels
area: bridge
area: bridge
area: build
area: build
area: build
area: cli
area: domain
area: evidence
area: mcp
area: native
area: providers
area: runtime
area: server
area: setup
area: tests
bug
design
documentation
enhancement
enhancement
enhancement
experiment
help wanted
i18n
invalid
P0: critical
P1: high
P2: medium
P2: medium
P2: medium
P3: low
performance
provider-request
pull-request
question
roadmap
triage
Milestone
Clear milestone
No items
No milestone
Projects
Clear projects
No items
No project
Assignees
Clear assignees
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".
No due date set.
Dependencies
No dependencies set.
Reference
morluto/rea#7466
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
📋 Pull Request Information
Original PR: https://github.com/morluto/rea/pull/6946
Author: @earakely-scale
Created: 10/24/2026
Status: ✅ Merged
Merged: 10/24/2026
Merged by: @morluto
Base:
main← Head:feat/environment-prompt📝 Commits (10+)
da42a23feat(environment): report what an environment serves with an environment-coverage viewcc290d9feat(environment): build an environment bundle in one command045f14atest(environment): cover environment-build and the coverage viewcf7eb70test(environment): build the real-agentenv lane's bundle with environment-build1e2c12edocs(environment): document environment-build and the coverage view093af31fix(environment): harden environment-build after reviewa040f01docs(environment): state the build's conditions and record its verificationbc35ef3fix(environment): dispatch a pending interrupt before each build stage check62368bdMerge remote-tracking branch 'origin/main' into eb33c37f6feat(browser): send declared requests from a scenario page with a request step📊 Changes
75 files changed (+7033 additions, -255 deletions)
View changed files
📝
.agents/skills/reverse-engineer-anything/SKILL.md(+8 -2)➕
.agents/skills/reverse-engineer-anything/references/environments.md(+215 -0)📝
.agents/skills/reverse-engineer-anything/references/evidence-workflows.md(+7 -0)📝
docs/agent-environments.md(+232 -9)📝
docs/browser-scenario-contract.md(+113 -3)📝
docs/cli.md(+29 -0)➕
docs/specs/agent-environments/environment-build/plan.md(+25 -0)➕
docs/specs/agent-environments/environment-build/spec.md(+96 -0)➕
docs/specs/agent-environments/environment-build/tasks.md(+13 -0)➕
docs/specs/agent-environments/environment-build/verification.md(+102 -0)➕
docs/specs/agent-environments/environment-prompt/plan.md(+21 -0)➕
docs/specs/agent-environments/environment-prompt/spec.md(+83 -0)➕
docs/specs/agent-environments/environment-prompt/tasks.md(+11 -0)➕
docs/specs/agent-environments/environment-prompt/verification.md(+82 -0)📝
docs/specs/agent-environments/scenario-capture/spec.md(+2 -1)📝
docs/testing.md(+9 -7)📝
docs/web-network-captures.md(+22 -0)📝
package.json(+1 -0)➕
scripts/fixtures/browser-request-site.mjs(+130 -0)➕
scripts/lib/browser-request-e2e.mjs(+376 -0)...and 55 more files
📄 Description
Summary
An agent asked to build an agent environment of a running web application cannot finish the job through REA's MCP
server today. A browser scenario reaches an application's API only through the UI or a
gotoGET, so recording thewrites an environment serves means scripting every form. No MCP tool writes a bundle, and nothing tells the agent how to
record a session the state can learn writes from, or when to stop. This PR adds:
requestscenario action: one same-origin HTTP request sent through the page's ownfetch, so a scenario cansign in through the UI and then call the application's API, writes included. Header values can be declared secrets
or values the page holds (a CSRF cookie, a stored bearer token), and those are redacted from later records.
export_environment_bundleMCP tool: the bundlerea environment-buildwrites, from retained captureEvidence or an Evidence file, into an absent absolute directory, with the same report.
references/environments.md: how to go from a prompt to a bundle. Map the app, record with atimeout on every step, read every write back, check coverage, re-record or stop by the withheld reason, export and
hand off.
With that, Claude Code built and exported five environments from one-paragraph prompts. Each took about 2–7 minutes.
All five bundles start and answer retrieval tasks; 3 of the 5 also serve writes, and their write tasks pass with two
models.
Stacked on #6929 (
feat/environment-build): the commits aftereeab0bdaare this PR's(compare). Part of
#4933.
Problem and expected behavior
session's cookies and the headers the frontend sends. It must stay confined to the start URL's origin, and keep the
values it reads out of the Evidence.
It must never touch data the user did not offer, nor loop on gaps that re-recording cannot close.
Change and scope
requestaction (src/domain/browserScenarioValues.ts,browserScenario.ts,src/browser/PlaywrightScenarioRequest.ts):GET/HEAD/POST/PUT/PATCH/DELETE, a path that must resolve to the start origin, queryentries, headers and a JSON body.
with an optional prefix.
expected_statusfails the step on any other status; 3xx statuses are refused.fetchcannot set,User-Agent, a repeated header name, and line breaks.sent. A value read again keeps its first marker. Values shorter than 8 characters are not redacted, so ids and ports
survive.
src/contracts/environmentToolContracts.ts,src/domain/environmentBundleExport.ts,src/application/environment/environmentBundleTool.ts):--format jsonwrites it, so the bundle is byte-identical toenvironment-build's;environment-buildfor CLI parity and registered in the product catalog.scenario capture is untimed, so an update the application stamps with a modification time is withheld however often
it is recorded.
references/environments.mdis installed by setup and routed from SKILL.md;docs/browser-scenario-contract.md), recording writes and the MCP tool(
docs/agent-environments.md), and the spec folderdocs/specs/agent-environments/environment-prompt/.npm run verify:browser:requestdrives a real Chrome through a CSRF-and-bearer item API, builds theenvironment, and checks redaction, failure on an unexpected status, and redirect confinement.
Not included:
today);
Scope decision pending:
requestlets a scenario change application state without a user gesture. CONTRIBUTING asksfor a maintainer decision on target mutation, and the scenario-capture spec named a fetch action as a non-goal needing
one. The step is confined to the start origin, the docs and skill require a disposable instance, and the skill asks
before any scenario that writes.
Size: about 2,500 lines (870 source, 1,200 tests and the lane, 460 docs). It splits cleanly if preferred: the
requestaction with its lane and contract docs, then the MCP tool, coverage line and skill.Contract and boundary impact
src/domain,src/browser);src/application/environment);boundary. The
requestaction needs the maintainer decision above (pending).capture_browser_scenarioandcapture-browser-scenarioaccept therequestaction;export_environment_bundle, the CLI alias ofenvironment-build;capture_browser_scenariodescription names the action.the request runs in the user's page.
requeststeps and their events;[REDACTED:page:<step>.<header>];start origin with the session's cookies, and write methods change the application's data. Cleanup is unchanged.
version 47 (
src/generatedPackageMetadata.ts).Expected effects:
Evidence and regression coverage
Environments from a prompt. Five applications were seeded fresh on disposable Ubuntu VMs, loopback only. Claude Code
2.1.310 (
claude-sonnet-5-5) had this branch's packed CLI, registered withrea setup --client claude_code. Each run gotone prompt: build an agent environment of the app at this URL covering these entities; the instance is disposable, but
leave the seeded data; the user, the password variable, the Chromium path and the output folder. The prompt did not
mention the skill. Bash and web tools were disabled.
Each bundle was then rebuilt from its own
evidence.jsonwith this branch's tarball;manifest.jsonandevidence.jsonwere byte-identical to the agent's. It then ran its smoke task, a retrieval eval generated from the bundle, and the
application's recorded write eval with
fireworks_ai/gpt-oss-120bandfireworks_ai/glm-5p3-flash, one run per task.* The Directus eval's count check expects exactly the 2 provisions the scripted recording read. The agent read all 5,
so the raw eval is 0/2 even though every field check passes. With counts relative to the state, it is 2/2.
read more (11–39 state-backed reads) and serve 7, 3, 2, 2 and 0 writes. The prompted ones serve 0, 6, 0, 5 and 1.
Linkding's scripted HAR serves the same PATCH with a clock rule.
timeout_ms. The skill now starts from a whole scenario with a timeout onevery step.
Reviews. Two independent reviews tried to refute the change; everything below is now fixed and tested.
Round 1 found:
User-Agentdropped silently;Round 2 confirmed those fixes and found:
?or#, 3xx statuses that cannot match, and padded values escaping redaction(fixed);
Tests added or updated:
verify:browser:request.Base reproduction or other evidence: see above. The redirect case is checked against the server, which never
receives the cross-origin request.
User-visible CLI/MCP output:
{"step_id": "create-1", "action": "request", "method": "POST", "path": "/api/objects/products", "json": {...}, "expected_status": [200], "timeout_ms": 15000};environment-build's (status,coverage.reads,coverage.writes.served/withheldwithhints,
warnings,next).Remaining proof gaps:
rea-agents@6.7.0has noenvironment-serve, so a bundle exported from an unreleased build needspackage_tarballuntil the next release (pre-existing).For evidence-bearing changes:
Validation performed
Run on macOS with Node v24.22.1 at
c67f57f8(the merge ofeeab0bdaplus this PR).npm run -s typecheck,lint,format:check,docs:check,mcp-catalog:check,verify:test-discoveryandnpx knip: passed.npx vitest run --project domain --project services --project adapters: 16,347 passed, 1 failed ("stops Inspectortarget authorization after the current stat settles"). It fails the same way on the base
fce1aba8here (16,326passed, 2 failed).
passed;
npm run -s verify:browser:requestandnpm run -s verify:browser:network: passed in real Chrome.npm run -s verify:browserstops at "Real Chrome stable capture identities did not reconcile" (aninspect_web_pagecomparison) identically on the base.
After merging #6929 at
53a03c06(maind87e73f2) intoac4d88aa, with no conflicts, on macOS with Node v24.22.1 and main's locked dependencies:npm run jscpd: 3.58%);npx vitest run --project domain --project services: 9793 passed, 6 skipped, none failed; the environment boundary projects: 107 passed.src/browser/PlaywrightScenarioRequest.test.ts: 16 passed.npm run verify:browser:requestwith Chrome: 22 request steps, 7 authenticated writes, 3 served writes (delete_items_by_id,post_items,put_items_by_id), verified.CI on
ac4d88aafound two regressions from this branch, fixed ate80e89ef:b1e6652a: the environments reference makes the packaged skill eight files, sosetupSkillPublication.test.tsderives its rollback counts fromMANAGED_SKILL_FILESinstead of fixing them at six and seven.e80e89ef: an earlier merge's lint autofix had unescaped the hyphens injavaFloatValuePattern(src/domain/adb/adbDeviceAnalysis.ts), which no v-mode JS regex accepts, failingadvertisedPatternsVMode; the file now matches main. No other file differs from main through a merge alone.npm run -s check:fast,format:check,docs:check,mcp-catalog:checkandnpx knippassed; the MCP boundary project: 1386 passed; the skill boundaries: 30 passed.At
2718c6e1: CI one80e89effound one more regression, fixed ina53d320e: the request step example indocs/browser-scenario-contract.mdstood alone, but every JSON example there must parse as a wholecapture_browser_scenarioinput, so it now sits in a launch scenario. #6929 at74f7ad28is merged with no conflicts and no file changed by the merge alone.npm run -s check:fastpasses;src/application/environment,src/domain/analysisViewand the request step tests: 1273 passed. Run locally against maind87e73f2, the boundary, CLI-boundary, process-boundary and acceptance projects fail no test main passes, except two release tests that readnode_modulesthrough this worktree's symlink and one worker-order timing test.At
6fa1635e(#6929 at98fe6deamerged): seven review findings fixed in814ffa94with #6929's headroom check: the page sends a request step only before its absolute deadline and within a one-second start window, so a busy page that starts it after cancellation sends nothing; local storage is read only on the start origin; the response is drained without keeping its body; an unparseable path is a field issue; retained Evidence is refused for heap headroom before serialization; and the skill says how to reach server-assigned ids. Each new test failed before the fix. Static checks (includingmcp-catalog:check) pass;npx vitest run --project domain --project services(excludingjavascriptSemanticAnalysis.reference_lifetimes.test.ts, whose worker crashes on main too): 9923 passed; the bundle MCP, product catalog, tool schema, v-mode pattern, skill and build boundaries pass;npm run verify:browser:requestwith Chrome verifies 22 request steps and 3 served writes. A request the page starts within that second of the hand-over can still be sent after cancellation; closing that needs network-level interception.At
558ff76f(morluto's0ad86117, then main2250e67b): three review findings fixed.ffe82bbfruns the browser request lane under the shared verifier command owner, so a failed or timed-out run stops the CLI and the browser it launched before its private root is removed.558ff76fscans a browser scenario's credentials by event, including a response attached mid-flight and an unattributable transaction (pointers now readevent N …), and picks the form or JSON parser by the recorded media type, so valid forms such aspassword=x&are scanned and sentences are not. Each new test failed before its fix. On macOS with Node v24.22.1: the static checks pass, includingmcp-catalog:check;npx vitest run --project domain --project servicespasses (9940, excludingjavascriptSemanticAnalysis.reference_lifetimes.test.ts, whose worker crashes on main too); the bundle MCP, catalog, schema, v-mode, skill, build, export, headroom and verifier-ownership boundaries pass (74);verify:browser:requestwith Chrome verifies; and all 54 bundles stay byte-identical to the three-step path's, with unchanged warnings. CI's failing tests arepackedBridgeVerification.test.ts, which mainbe2811e4fails the same way.At
378a7177, after merging maind361c53c(which carries #6897; one conflict,scripts/lib/windows-owned-command.mjs, takes main's lazy verifier source import, and no other file differs from main except this branch's own):runnerCancellation.test.ts, which failed on558ff76f's CI and locally, passes with main's fix;npm run -s check:fast, format, knip, docs,mcp-catalog:checkand test discovery pass; the environment, analysis-view, browser and CLI tests pass (2560) and the focused boundaries pass (75);verify:browser:requestverifies; and all 54 bundles stay byte-identical to the three-step path's (78 served writes with main's write rules).Compatibility, safety, and release
(end to end).
Author readiness
Human owner: @earakely-scale
Before merge
type(scope): outcome.🤖 Generated with Claude Code
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.