chore/prod-readiness — repo cleanup (Group 1 of release/jsr-readiness)#54
Conversation
Group branch off umbrella @ 1f4cafa. Plan/research/Design ready (inherited). Draft sub-PR -> release/jsr-readiness opens next; PLAN-EVAL (OpenHands/minimax M3, separate session) follows. Worktree deferred to implementation launch (WSL Codex). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_018fq9V7ujx7e1rWXi57qkPG
…launched Per supervisor.md §2: chore/prod-readiness (#54) and chore/deps-hygiene (#55) branched off the umbrella with plan/research/Design ready on each; phase-registry status -> active. GitHub-access blocker resolved (PAT REST path). Worktrees deferred to implementation launch (WSL Codex ext4). PLAN-EVAL per sub-PR follows. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_018fq9V7ujx7e1rWXi57qkPG
|
@openhands-agent model=openrouter/minimax/minimax-m3 output=pr-comment iterations=800 use harness ROLE: PLAN-EVAL (plan-gate evaluator) for the Read first (authoritative protocol):
Then read the run (this PR's branch,
Task (follow plan-protocol.md exactly):
Verdict: write |
OpenHands Agent — CompletedModel: openrouter/minimax/minimax-m3 SummaryVerdict: FAIL_PLANPLAN-EVAL evaluator session for Changes
Key findings
Required fixes (each in
|
Verifier session for chore-prod-readiness--cleanup group. Verdict: FAIL_PLAN. Required fixes (each must be made in plan.md and resubmitted to PLAN-EVAL): 1. F3: record the resolution (functional) and add an arch-debt entry. 2. S4 (mysqlJsonExtension): deprecate first, then remove (mirror mssqlJsonExtension). 3. S5 (trustedConnection): name the internal rewrite at mssql.adapter.ts:414-419. 4. S6 (JobBuilder.schedule): add the scaffolder consumer at plugins/workers/src/scaffolding/job-scaffolders.ts:64-65 to the touch list. 5. G1-3 and G1-4: add the scaffold.runtime smoke gate as a regression guard. 6. Per-slice LOC and file list per plan-protocol.md. 7. G1-6: scope the open-ended dead-code sweep or defer to a follow-up run. Co-authored-by: openhands <openhands@all-hands.dev>
Address all 7 required fixes from the minimax-M3 FAIL_PLAN verdict (plan-eval.md): - PR-7 deprecate-before-remove: S4' mysqlJsonExtension (un-@deprecated) deprecated this run, removal deferred; S5 trustedConnection is a behavioural refactor (writer mssql.adapter.ts:415-416 -> authentication .type='ntlm'), not a delete. - F3 ConnectionStrings__{provider}db confirmed FUNCTIONAL (read by service/src/diagnostics/database-connectivity.ts:48,71,94); arch-debt entry database-connectivity-legacy-connstring-alias added. - G1-3 split into G1-3a/G1-3b/G1-3c. - S6: scaffolder consumer plugins/workers/src/scaffolding/job-scaffolders .ts:64-65 + fixture added to G1-5 touch list. - scaffold.runtime smoke gate on every public slice (G1-3a/b/c, G1-4, G1-5). - G1-6 dead-code sweep bounded to touched surfaces + .llm/tools/. - Per-slice file list + LOC budget table added. Re-dispatching PLAN-EVAL cycle 2 (OpenHands minimax M3, separate session). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_018fq9V7ujx7e1rWXi57qkPG
…s.md Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_018fq9V7ujx7e1rWXi57qkPG
|
@openhands-agent model=openrouter/minimax/minimax-m3 output=pr-comment iterations=800 use harness ROLE: PLAN-EVAL (cycle 2) — plan-gate evaluator for the Context: cycle 1 returned Read first (authoritative protocol):
Then read the run (this PR's branch,
Verify each cycle-1 fix against the tree (spot-check, do not take the plan's word):
Also re-confirm the off-limits guardrail PASS (no edits to Verdict: write |
OpenHands Agent — CompletedModel: openrouter/minimax/minimax-m3 PLAN-EVAL cycle 2 — chore/prod-readinessVerdict
Rationale (one paragraph)All 7 cycle-1 required fixes are resolved. Each is visible in SummaryI was the cycle-2 PLAN-EVAL evaluator for the Cycle-1 fixes — verification status
Off-limits guardrail (re-confirmed): Plan-Gate checklist (all 8 boxes checked)
Subtle observations (informational, not gate-blocking)
Changes
No other files were modified. The verdict is in the canonical run-scoped path; the workflow owns the PR comment and branch commit. Validation
No lints, tests, or builds were run (this is plan evaluation, not implementation; per Responses to review comments or issue commentsN/A. I did not post a PR comment — the workflow owns PR comments per the trigger comment. The cycle-1 Remaining risksFor the implementer (not for the plan):
For the plan: Files in scope
Run: https://github.com/rickylabs/netscript/actions/runs/27755852001 |
Plan-Gate cleared on cycle 2 (run 27755852001, separate OpenHands minimax-M3 session). All 7 cycle-1 fixes verified against tree; all 8 plan-gate boxes PASS; off-limits guardrail re-confirmed. Implementation gated on user dispatch + G2 PASS. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_018fq9V7ujx7e1rWXi57qkPG
…s.md Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_018fq9V7ujx7e1rWXi57qkPG
…gistry Group 1 (chore/prod-readiness, PR #54): PASS @ cycle 2 (run 27755852001). Group 2 (chore/deps-hygiene, PR #55): PASS @ cycle 1 (run 27755191977). Both Plan-Gates cleared; implementation gated on explicit user dispatch. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_018fq9V7ujx7e1rWXi57qkPG
Co-Authored-By: Codex <noreply@openai.com>
Co-Authored-By: Codex <noreply@openai.com>
|
Implementation progress — WSL Codex (thread Slices landed (one commit each, gates green):
Drift D-G1-1 (significant) recorded + resolved: handover named a non-existent Supervisor mirrors progress here (Codex has no |
Co-Authored-By: Codex <noreply@openai.com>
|
Progress — WSL Codex (thread
Subtractive discipline held: |
Co-Authored-By: Codex <noreply@openai.com>
|
Progress — WSL Codex (thread
|
Co-Authored-By: Codex <noreply@openai.com>
|
Progress — WSL Codex (thread
|
Co-Authored-By: Codex <noreply@openai.com>
Co-Authored-By: Codex <noreply@openai.com>
|
Group 1 progress — WSL Codex (thread
Consumer scans clean on both; OFF-LIMITS files untouched ( Remaining: G1-5 (full |
Co-Authored-By: Codex <noreply@openai.com>
|
Group 1 — G1-5 (highest-risk public slice) ✅
Consumer/generated-output scan PASS-with-drift: extra stream/docs/template consumers recorded as debt Remaining: G1-6 (bounded dead-code sweep) — last slice. |
Co-Authored-By: Codex <noreply@openai.com>
Co-Authored-By: Codex <noreply@openai.com>
|
Group 1 implementation COMPLETE — all 7 slices in (G1-0 → G1-6)
Surviving Full G1 ledger: subtractive cleanup with PR-7 deprecate-before-remove on every public surface, zero-consumer proof per slice, full |
Co-Authored-By: Codex <noreply@openai.com>
Co-Authored-By: Codex <noreply@openai.com>
|
@openhands-agent model=openrouter/qwen/qwen3.7-max output=pr-comment iterations=800 use harness Run IMPL-EVAL (final post-implementation evaluator pass) for the Read first: Evaluate slices G1-0…G1-6 (G1-3 = G1-3a/b/c) against the LOCKED plan. Verdict-critical checks:
Write the verdict to |
OpenHands Agent — CompletedModel: openrouter/qwen/qwen3.7-max IMPL-EVAL Run Summary — chore/prod-readiness--cleanupRun ID: chore-prod-readiness--cleanup SummarySuccessfully completed the final post-implementation evaluator pass for the chore/prod-readiness run (Group 1 cleanup of release/jsr-readiness). All 6 verdict-critical checks were verified against the LOCKED cycle-2 plan. The implementation is strictly subtractive, PR-7 deprecate-before-remove was honored on every public surface, F3 functional behavior was preserved, OFF-LIMITS files were not modified, heavy gates remain green, and recorded debt accurately describes deferred or resolved work. ChangesFiles Created
Files Modified
Commit
ValidationAll 6 verdict-critical checks verified:
Remaining risks (non-blocking)
Remaining risksNone for this evaluator session. All verification tasks completed. The IMPL-EVAL verdict is finalized and committed. Next action: User reviews verdict. Cycle 2 complete. Ready to merge to release/jsr-readiness. Run: https://github.com/rickylabs/netscript/actions/runs/27761272236 |
Evaluator pass for cycle 2 of 2. All 6 verdict-critical checks verified against the LOCKED cycle-2 plan. Ready to merge. Co-authored-by: openhands <openhands@all-hands.dev>
🤖 Augment PR SummarySummary: Repo-wide production-readiness cleanup (Group 1 of Key Changes:
Technical Notes: Public-surface removals are guarded by consumer scans and scaffold/runtime smoke gates; functional env-var contracts (e.g., legacy connection-string aliases) are explicitly preserved and tracked as debt. 🤖 Was this summary useful? React with 👍 or 👎 |
| config.options!.trustedConnection = true; | ||
| config.authentication = { | ||
| type: 'ntlm', | ||
| options: {}, |
There was a problem hiding this comment.
buildAdapterConfig() now emits authentication: { type: 'ntlm', options: {} } for integrated security. Can you double-check that an empty options object is sufficient for tedious NTLM (or that the Prisma adapter doesn’t require NTLM credentials here), since this could otherwise break integrated-auth connections at runtime.
Severity: medium
🤖 Was this useful? React with 👍 or 👎, or 🚀 if it prevented an incident/outage.
|
|
||
| if (options.fsRoutes) { | ||
| options.fsRoutes(app, pattern); | ||
| options.fsRoutes(app); |
There was a problem hiding this comment.
registerFileSystemRoutes() invokes options.fsRoutes(app) with no pattern, but the exported FreshAppFsRoutes type still includes a pattern?: string parameter. Consider aligning the type/docs with the new contract so consumers don’t assume they’ll receive a mount pattern here.
Severity: low
🤖 Was this useful? React with 👍 or 👎, or 🚀 if it prevented an incident/outage.
| if (input.schedule) { | ||
| lines.push(` .schedule(${JSON.stringify(input.schedule)})`); | ||
| } | ||
| if (input.timeoutMs !== undefined) { |
There was a problem hiding this comment.
After removing the .schedule(...) emission, WorkersScaffoldInput.schedule becomes effectively ignored by JobBuilderScaffolder.generate(). If the workers CLI still accepts/populates schedule, this can silently drop user intent (either reject it or route it to the scheduled-trigger path).
Severity: medium
Other Locations
plugins/workers/src/scaffolding/input.ts:22plugins/workers/src/cli/workers-cli-backend.ts:196
🤖 Was this useful? React with 👍 or 👎, or 🚀 if it prevented an incident/outage.
Group 1 sub-PR of the
release/jsr-readinessumbrella (#53). Repo-wide production-readiness cleanup.Scope: dead code, ALL backward-compat shims/aliases (functional workarounds excluded), temp/build cruft, stray root files;
AGENTS-handoff.mdrelocated into theopenhands-handoffskill (root file deleted); dead doc files deleted (no doc content rewrites).Plan & Design (ready for the Plan-Gate):
.llm/tmp/run/chore-prod-readiness--cleanup/research.md.llm/tmp/run/chore-prod-readiness--cleanup/plan.md.llm/tmp/run/chore-prod-readiness--cleanup/worklog.md(## Design)Status: Draft. Awaiting PLAN-EVAL (OpenHands / minimax M3, separate session) before any implementation slice (WSL Codex, daemon-attached). Merges
--no-ffinto the umbrella on PASS.🤖 Generated with Claude Code