Skip to content

Mount immutable NodeSlide lifecycle in NodeRoom#233

Merged
HomenShum merged 7 commits into
mainfrom
codex/finish-all-remaining
Jul 20, 2026
Merged

Mount immutable NodeSlide lifecycle in NodeRoom#233
HomenShum merged 7 commits into
mainfrom
codex/finish-all-remaining

Conversation

@HomenShum

Copy link
Copy Markdown
Owner

Summary

  • map NodeSlide snapshots, patches, proposals, versions, receipts, and activity onto NodeRoom's existing artifact/CAS authority
  • enforce ActorProof, membership, and host/member policy server-side before mounted operations
  • mount the packed controlled React shell in the real deck workbench and route a real NodeAgent proposal
  • vendor and integrity-pin the GitHub-attested NodeSlide v0.2.0 release from exact producer 39a9ebf
  • pin bilateral CI to that immutable producer and run the smallest Memory, Convex, and React journeys

Verification

  • npm run design:audit
  • npm run nodeagent:frame:smoke
  • npm run omnigent:nodeagent:smoke
  • npm run nodeslide:mounted:release:proof (exact producer checkout)
  • focused mounted/security tests: 11/11 plus 4/4
  • npm run floor: 366 files / 2,547 tests green

@vercel

vercel Bot commented Jul 20, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
noderoom Ready Ready Preview, Comment Jul 20, 2026 10:12pm

Request Review

@github-actions

github-actions Bot commented Jul 20, 2026

Copy link
Copy Markdown

Scaffold Handoff — For Your Coding Agent

Your coding agent (Codex, Claude Code, etc.) should apply the accepted
scaffold proposals below. Do NOT touch any immutable files.

Immutability Check

Mode: advisory

⚠️ Immutable proof files changed: .github/workflows/ci.yml

This is advisory because the check is not running in strict scaffold-repair mode.
If this PR is applying accepted scaffold proposals, rerun with --strict-immutability
and reject the PR unless the immutable changes are removed.

Immutable files guarded during scaffold repair:

  • scripts/proofloop.mjs
  • scripts/agent-improvement-loop.ts
  • tests/harnessChangeEval.test.ts
  • .github/workflows/
  • src/eval/evalTrustPolicy.ts
  • src/eval/architectureBudget.ts
  • evals/evalStore.ts

Changed Files

  • .github/workflows/ci.yml
  • convex/_generated/api.d.ts
  • convex/artifacts.ts
  • convex/convex.config.ts
  • convex/nodeslideHost.ts
  • docs/NEXT_SESSION.md
  • docs/eval/OFFICIAL_BENCHMARK_READINESS.md
  • docs/eval/OFFICIAL_BENCHMARK_TASK_COVERAGE.md
  • docs/eval/OPENROUTER_CONVEX_BENCHMARK.md
  • docs/eval/agent-improvement-loop.md
  • docs/eval/agent-improvement-loop.svg
  • docs/eval/agent-improvement-loop/20260720T221102Z.json
  • docs/eval/agent-improvement-loop/latest.json
  • docs/eval/agent-workspace-sandbox-smoke.json
  • docs/eval/algorithm-artifact-smoke.json
  • docs/eval/bankertoolbench-official-contract.json
  • docs/eval/docker-sandbox-probe.json
  • docs/eval/eval-runs.jsonl
  • docs/eval/halo-convex-context-telemetry.json
  • docs/eval/halo-self-improvement-smoke.json
  • docs/eval/halo-variant-selection.json
  • docs/eval/official-benchmark-readiness.json
  • docs/eval/official-benchmark-task-coverage.json
  • docs/eval/openrouter-convex-benchmark.json
  • docs/eval/professional-catalog-proofs.json
  • docs/eval/professional-proof-ledger.json
  • docs/eval/spreadsheetbench-chart-visual-probe.json
  • docs/eval/traces/credit/20260720T221108007Z-6ab6766f_dirty.4cae222ef742d8ab/cascade-healthy.json
  • docs/eval/traces/credit/20260720T221108007Z-6ab6766f_dirty.4cae222ef742d8ab/delta-incomplete.json
  • docs/eval/traces/credit/20260720T221108007Z-6ab6766f_dirty.4cae222ef742d8ab/mapping-correct.json
  • docs/eval/traces/credit/20260720T221108007Z-6ab6766f_dirty.4cae222ef742d8ab/mapping-misbind.json
  • docs/eval/traces/credit/20260720T221108007Z-6ab6766f_dirty.4cae222ef742d8ab/summit-stressed.json
  • docs/eval/traces/ladder/20260720T221107691Z-6ab6766f_dirty.c6cdcac6934e0ac3/ladder_L1_read_scripted.json
  • docs/eval/traces/ladder/20260720T221107691Z-6ab6766f_dirty.c6cdcac6934e0ac3/ladder_L2_edit_scripted.json
  • docs/eval/traces/ladder/20260720T221107691Z-6ab6766f_dirty.c6cdcac6934e0ac3/ladder_L3_conflict_scripted.json
  • docs/eval/traces/ladder/20260720T221107691Z-6ab6766f_dirty.c6cdcac6934e0ac3/ladder_L4_blocked_scripted.json
  • docs/eval/traces/ladder/20260720T221107691Z-6ab6766f_dirty.c6cdcac6934e0ac3/ladder_L5_large_range_scripted.json
  • docs/eval/traces/ladder/20260720T221107691Z-6ab6766f_dirty.c6cdcac6934e0ac3/ladder_L6_long_horizon_scripted.json
  • docs/eval/traces/ladder/20260720T221107691Z-6ab6766f_dirty.c6cdcac6934e0ac3/ladder_L7_resume_scripted.json
  • docs/integrations/NODESLIDE_CONSUMER_PROOF.md
  • package-lock.json
  • package.json
  • scripts/nodeslide-consumer-artifacts.ts
  • scripts/nodeslide-mounted-release-proof.ts
  • src/engine/roomEngine.ts
  • src/engine/types.ts
  • src/integrations/nodeslide/NodeRoomNodeSlideStudioMount.tsx
  • src/integrations/nodeslide/hostAuthorization.ts
  • src/integrations/nodeslide/hostPrincipal.ts
  • src/integrations/nodeslide/nodeRoomArtifactRepository.ts
  • src/integrations/nodeslide/storyboardTranslation.ts
  • src/ui/workArtifacts/DeckStoryboardWorkbench.tsx
  • src/ui/workArtifacts/WorkArtifactsPanel.tsx
  • src/ui/workArtifacts/work-artifacts.css
  • tests/deckBinderRouting.test.tsx
  • tests/nodeSlideConsumerArtifacts.test.ts
  • tests/nodeSlideHostAuthorization.test.ts
  • tests/nodeSlideHostPrincipal.test.ts
  • tests/nodeSlideMountedConvexJourney.test.ts
  • tests/nodeSlideMountedMemoryJourney.test.ts
  • tests/nodeSlideStoryboardTranslation.test.ts
  • tests/nodeSlideStudioMount.test.tsx
  • tests/workArtifactsNotebookReadModelUi.test.tsx
  • vendor/nodeslide/README.md
  • vendor/nodeslide/install-upgrade-proof.json
  • vendor/nodeslide/nodeslide-agent-0.2.0.tgz
  • vendor/nodeslide/nodeslide-artifacts.json
  • vendor/nodeslide/nodeslide-backend-0.2.0.tgz
  • vendor/nodeslide/nodeslide-cli-0.2.0.tgz
  • vendor/nodeslide/nodeslide-client-http-0.2.0.tgz
  • vendor/nodeslide/nodeslide-contracts-0.2.0.tgz
  • vendor/nodeslide/nodeslide-convex-0.2.0.tgz
  • vendor/nodeslide/nodeslide-engine-0.2.0.tgz
  • vendor/nodeslide/nodeslide-react-0.2.0.tgz
  • vendor/nodeslide/nodeslide-react-headless-0.2.0.tgz
  • vendor/nodeslide/nodeslide-registry-0.2.0.tgz
  • vendor/nodeslide/nodeslide-testing-0.2.0.tgz
  • vendor/nodeslide/release-lock.json

Needs Adversarial Review — Do NOT Apply Yet

These proposals passed the reject check but have not been approved by
an adversarial reviewer. A human or frozen LLM judge must approve them first.

  • scaf-001 (AGENTS.md): Add explicit instruction for step spreadsheetbench-runner-fixture: Step spreadsheetbench-runner-fixture failed — scaffold may need explicit instruction or evidence assertion.
  • scaf-002 (AGENTS.md): Add explicit instruction for step convex-boundaries: Step convex-boundaries failed — scaffold may need explicit instruction or evidence assertion.

Safety Boundary

Agent may improve the scaffold.
Agent may NOT weaken the proof gate.

Immutable files (never modify):

  • scripts/proofloop.mjs
  • scripts/agent-improvement-loop.ts
  • tests/harnessChangeEval.test.ts
  • .github/workflows/
  • src/eval/evalTrustPolicy.ts
  • src/eval/architectureBudget.ts
  • evals/evalStore.ts

Scaffold files (safe to modify):

  • AGENTS.md
  • CLAUDE.md
  • proofloop/scenarios/*.yaml
  • proofloop/rubrics/*.yaml
  • proofloop/subagents/*.md
  • proofloop/adapters/*.js
  • .proofloop/memory.jsonl
  • src/nodeagent/models/prompts/systemPrompt.ts

@HomenShum
HomenShum merged commit 7788e98 into main Jul 20, 2026
13 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant