mirror of
https://github.com/morluto/rea.git
synced 2026-11-05 06:45:22 +00:00
[GH-ISSUE #1587] [Feature] Improve task-centered REA onboarding and recovery in Codex skills #535
Open
opened 2026-10-15 18:25:58 +00:00 by bsakaguchi
·
1 comment
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#535
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?
Originally created by @N0zoM1z0 on GitHub (Oct 10, 2026).
Original GitHub issue: https://github.com/morluto/rea/issues/1587
Before submitting
Area
MCP or agent integration; setup and documentation.
Current limitation
A fresh agent should move from a user-supplied artifact to useful evidence with minimal setup friction. An isolated Linux audit of the published
rea-agents@6.3.0skill and repository-main skill found that core routing and Evidence handling work, but several recoverable conditions still cause unnecessary retries or unclear next steps:MCP tool call requires approval, but approval policy is never. This is a client approval decision, not a missing REA engine or registration problem. Switching toworkspace-writealone did not resolve it. Archive and HAR operations worked through the actual MCP boundary and with narrowly scoped, explicitly authorized temporary Codex tool approvals.view.kind = "module"; the correct contract iskind = "item",collection = "modules". A subsequent path selector matched multiple module roles. The runtime returned useful node-ID candidates, but the skill lacks a concrete recipe for selecting them.trace_application_featurerequest withdirection = "both"expanded through containment relationships into unrelated modules. Codex truncated the displayed result inside its textual envelope. This client truncation is distinct from REA's structured transport-limit error.Use cases
Desired outcome and success criteria
Authority boundaries and non-goals
This first implementation targets the authored REA skill, focused references and the existing Codex evaluation lane. It does not introduce an installer for Node, Java or native engines, broaden target execution, change IDA/Ghidra mutation authority, or mark resource-producing operations falsely read-only to avoid client approval. Local Evidence preserves caller-selected ordinary values and redacts transport credentials.
Graph traversal/containment semantics and resource handling belong to the producing tool. Skill guidance can choose a narrower useful query, but should not claim to repair a broad trace's graph semantics or transport behavior. Native engine integration and other clients require their own verification.
Alternatives considered
verify:agentlane; extend representative scenarios and use its evaluator where applicable.Possible direction
Keep task routing concise in
SKILL.md, place conditional connection/client recovery guidance in a focused reference, synchronize JavaScript summary and view examples, and strengthen fresh-profile Codex testing. Borrow question-driven stage exits and concise failure records from reverse-skill without importing its bulk prerequisites or mandatory runtime workflow.Verification scope and follow-up TODOs
The initial audit ran 19 sequential real Codex CLI trials using Codex 0.162.1 and
gpt-6.1-sol, against release 6.3.0 and main atc19e15a2. It also checked 139 actual post-SDK MCP input schemas. Trials included successful workflows, four client approval blocks, a genuine provider-unavailable response, and two invalid/ambiguous view requests; these are diagnostic observations, not 19 uniformly passing workflows. Model runs used one CPU core and a 3 GiB memory ceiling; peak sampled aggregate trial memory was about 724 MiB. These are small representative fixtures, not a general performance benchmark or isolated causal A/B test.Implementation and retest (first phase: Linux / Codex only):
verify:agentnow installs through publicrea setupinto independent HOME/CODEX_HOME/XDG directories, copies authentication only, disables shell snapshots and additional agents, and removes authentication even when fixtures are retained. Codex helper aliases were refused when the profile lived under the OS temporary directory; the default disposable account now lives in a private cache and retains the sandbox.expectedFirstTool: nulland a separately validatedtargetClarificationPassedresult; report consumers must allow this negative routing outcome. Normal analysis gates still require their tools.The final representative set contains 13 limited workflow outcomes using Codex CLI 0.162.1, model gpt-6.1-sol, isolated REA package 6.3.0 and installed skill 37:
Earlier failing verifier attempts and the original wrong-target result are retained as diagnostic evidence. Positive transcript heuristics and manual workflow review do not establish unrestricted factual correctness; only the configured ASAR scenario has a closed factual oracle. The closed rubric also required full Evidence and an extra Evidence pull, so these tests do not demonstrate universal token savings.
All model runs were sequential under a one-core CPU allocation and 3 GiB process-tree memory ceiling. Peak sampled aggregate memory in the final model runs was about 930 MiB, with no model-run OOM or timeout. An initial full static typecheck was stopped at the owned scope's memory ceiling; retrying with compiler concurrency and memory controls succeeded without increasing the ceiling. Validation passed:
npm run check(typecheck, lint, formatting, unused-code, metadata, module boundaries and architecture guards).npm run docs:checkand the skill frontmatter validator.npm run verify:package: repository-root Skills 1.7.2 discovery installed all seven canonical skill files, including the recovery reference; packaged skill/setup, backup/readback, read-only plan, idempotence, CLI and public MCP checks passed. The packaged MCP server listed 170 tools. Config/provider simulations in this lane do not establish another real agent client's behavior or real engine correctness.npm pack --dry-run: the package includes the new reference and generated skill version 37.Remaining friction is explicit: some module lookups still need several identity pages; a client's independent approval policy can still block an operation; full Evidence required by a factual rubric can be expensive; broad trace expansion and transport behavior require producing-tool work if that scope is pursued.
PR and final-head verification
Ready-for-review implementation: #1613, based on main at
c1217e71; final PR head47e72a0.The final head passed 65 focused tests (including preservation of an unrecognized structured failure),
npm run check,npm run docs:check,npm run verify:packageandnpm pack --dry-run. Four fresh-profile real Codex scenarios were repeated on that rebased head: native provider unavailability, Chinese ASAR, module views, and missing-target clarification. All passed their limited gates with zero repeated calls or input-validation failures. The ASAR four-claim factual oracle passed, and missing-target made zero REA calls. Sampled aggregate model-run memory peaked at about 860 MiB; copied authentication was removed.Other clients, live engine providers and platform/model onboarding remain the follow-up scope listed above. CI is being monitored before merge.
References
Additional CI and model revalidation
The first CI run for #1613 found six inherited cleanup/uninstall boundary regressions, also present on an unrelated PR. They were reproduced twice locally, including on updated main. The separate prerequisite #1618 fixes late CDP cleanup cancellation and preserves the current error/resource/file-ownership rules in the regressions; 149 integrated tests and 64 repeated boundary tests passed, plus the full local check. Its real Chrome 154 CLI/stdio MCP and real Web runtime CI lanes passed.
At integration revision
82e01131, a four-scenario fresh Codex rerun retained correct routing, zero repeated calls, correct module views and a validated zero-REA-call missing-target clarification. The ASAR run answered all four factual claims correctly but omittedsource.kindon one view call, recovered after the SDK rejection, and consequently failed the strict zero-invalid-input gate. Its record is retained. Two further independent ASAR profiles both passed the four-claim rubric with zero invalid/repeated calls. This has not established a repeatable REA design defect; no speculative extra fix or relaxed evaluation gate was added. Model behavior is not guaranteed by a single passing run. Authentication copies were removed after every run.Final branch head
bec59688: all four new-profile Codex scenarios passed their strict gates (zero invalid/repeated calls; ASAR four-claim factual rubric passed; missing-target clarified with zero REA calls). The run took about 158 seconds with sampled peak about 835 MiB. The earlier recovered invalid-call run remains above. #1618 passed all 21 checks and merged as16d9c5ad; #1613 has refreshed CI on this final branch head.PR #1613 merged as
2653b194after all 19 checks passed onbec59688; #1618 merged after all 21 checks passed. Follow-up client and first-time npm-runner audits now start in a separate worktree. The npm release remains6.3.0; merging does not publish the new skill.Second phase: Pi, Hermes, DeepSeek Harness and cold npx onboarding
This phase used separate worktrees and private client installations on Linux x64 with Node 24.18.0/npm 11.16.0. Pi 1.1.0 and DeepSeek Harness 0.2.0-rc.2 were installed locally; Hermes source 66605471 used its official minimal Python/MCP installation in a private runtime (Python 3.14.7). No global client/toolchain upgrade or native engine installation was performed.
Release/source identity matters: the actual npm 6.3.0 artifact has skill 34, 139 tools and gitHead
74cf9e14. Source builds used skill 37 and 170 tools while package.json still says 6.3.0. The registry still reports 6.3.0 at 2026-10-10 20:33 UTC. Automatic Pi and Hermes setup exists in these source builds but is absent from the released package; DeepSeek is a manual native-MCP preview, not an advertised automatic setup client.Confirmed REA findings and changes:
be44b509; all 20 applicable checks subsequently passed.#1627 contains only the confirmed HOME/discovery verifier and release-guidance changes. Final head
a7ba07bais based onbbd01923, including #1631. Build:cached, check:ci, docs:check and all four native client call lanes passed on that integrated head. All 19 CI checks passed ona7ba07ba; #1627 merged at 2026-10-10 20:37:32 UTC asb74d9a1b. #1625 and #1626 closed; the compatibility follow-ups remain open.Native deterministic-loopback verification: 23 passing call-lane records in total (7 baseline records with the isolation/discovery limitations above; 16 after the HOME fix). Every corrected native lane discovered all 170 actual SDK tools, checked the advertised schemas, loaded the installed skill through the tested discovery path and returned complete named-schema Unicode-path JavaScript Evidence. The 16 corrected runs include twice each Pi/Hermes/Hermes sticky/DeepSeek, then each repeated at 1bba5545 and
a7ba07ba. These establish native integration with fixture model responses, not live-provider reasoning or engine coverage.Real Codex-backed model trials used gpt-6-sol, fresh homes/Git roots and a two-module inert JavaScript bundle. Positive answers were manually checked against four known fixture facts, not scored by a general factual-correctness benchmark.
a7ba07ba.The initial imported Pi trial recovered from two invalid selectors. Separate authentication/configuration experiments failed before any REA work (one Pi exit-zero transcript contained a model error); they are not positive outcomes. A wrong external sticky-test argument was corrected to the existing environment selector, without a REA code change.
Client-owned or uncertain observations are recorded without speculative production fixes:
unknown; two transcripts exposed the lost type shape. This does not prove that type loss alone caused model guesses or that REA's schema is invalid. Investigate the client projection first; retain strict REA selectors.DeepSeek headless tool-result previews were truncated. The follow-up reused the installed producer's frame scanner to decode every complete frame of canonical session logs, with no torn tails. All 18 REA inputs and complete outputs passed their named contracts; final cited Evidence IDs matched returned Evidence. Complete logs contained no transport credential. A preliminary one-frame decoder was recognized as incomplete and replaced; its partial record is not a complete-session pass.
Two independent empty npm caches verified the actual first-use
npx --yes rea-agents@6.3.0Codex workflow. Cold acquisition took about 49 seconds each. Unapproved setup reported needs_confirmation/exit 1 with no client/skill writes; dry-run showed the plan; approved setup installed six canonical release skill files and pinned MCP registration; repeat had no actions or config changes; doctor was healthy. Both actual CLI analysis and the registered npx-launched SDK MCP server returned Unicode-path fixture Evidence; all 139 release schemas were checked. Two additional native PTY runs reached the approval prompt and cancelled, preserving the original config without backups or skill writes. A preliminary unsupported CLI spelling and a missing pexpect in a private Python were harness errors, corrected using the public MCP path and existing system Python.Every heavy local command/model run was sequential under one CPU and a 3 GiB process-tree ceiling. The largest sampled second-phase model scope was about 720 MiB; complete static checking peaked at about 2.61 GiB. No second-phase host OOM occurred. Original OAuth stores remained unchanged and temporary access-only files were removed. Private audit receipts/transcripts are retained outside the original development checkout.
Remaining TODOs stay open: other named clients, real DeepSeek/other model providers, native Windows/macOS first-use onboarding, and real deep-analysis engines. Passing native fixtures or package/platform CI does not establish those workflows. Merging these changes does not publish a new npm package.
@CassieFox23 commented on GitHub (Nov 3, 2026):
TL;DR: Two commits landed on the trace TODO. I found none that claim the other three open TODOs. This is a read of main at
c3647ade1(#8824), and nothing ran, so it says what landed, not that it works.7c389cbefc(#7743). It keeps two-way traces from crossing containers. The other is423059a4de(#8522). It pages retained traces through analysis views. The JS guide (lines 168-170) still says such a trace can reach other modules. I did not test whether it still does.The skill is now version 59. The body says 37.
🤖 Written with Claude Code (Sonnet 5.5, verified by Opus 5.5), posted with my OK 🦊