Repository navigation
Conversation
Move the publish wave into publish-wave, publish-loop, publish-tags and publish-post modules. publishContext keeps its signature and orchestrates the phases in the same order, with the same awaits and lock handling. Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
Move workspace load, project selection, target filtering and task build out of execute into handler-parts modules. Shared state lives on a RunContext that each phase reads and updates in place. Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
Move task graph build, preflight checks, service attach and injection, and dry-run plan printing into handler-parts modules. Phase order and the points where execution can stop early are unchanged. Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
Move hook and runner-option setup, cleanup signal wiring, the interactive loop, and the static and watch modes into handler-parts modules. The interactive loop stays one function because its retry state is written from inside a promise callback. Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
execute keeps its signature and default export. It now calls the phase functions in the original order and runs the same try/finally teardown. Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
Destructure currentOs from the run context at the top of the interactive loop, so the retry branch passes the same expression as before. Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
The retry branch moved from handler.ts into handler-parts/run-modes.ts. The source-string assertions now read both files. Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
Cleanup was armed after prepareRunRuntime, so a failure in the remote cache attestation check or a run:before hook left services booted by this run running. Arm cleanup as soon as services are attached and keep the rest of the run inside the try/finally. Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
The retry budget test now imports createRetryBudget from its owning module, so the handler no longer re-exports it. The handler doc comment uses a TARGET placeholder: the jsdoc escaping rule rewrites a bare angle-bracket placeholder into an entity, which rendered literally. Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
Remote provider and repo detection in the release-PR check and the push-rule check could reject, so publishContext threw instead of returning a result. Record those errors as a _preflight failure and stop, so the caller gets the same result shape as other refusals. Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
PublishWaveModules and PublishWaveBase are only used inside publish-wave, so they no longer need to be exported. Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
The push-rule preflight and the tag phase each derived the release and floating tags from the plan on their own. planPublishTags now owns that decision; both callers use it, so the preflight checks the tags the run creates. Tag names, floating-tag conditions and creation order are unchanged. Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
isPidAlive now lives in util/process-alive and the service registry and release state share it. Persistent tasks keep their group-then-pid check on top of it. The shell quote primitives move to util/shell-quote; the run shell keeps its Windows bare-word rule over the shared quoting, and the two shellQuote signatures are now named for what they do. getVisOptions moves to task/target-options so both run modules import one copy. Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
ScopedTasksMatch moves into types-parts/project next to the project types it refers to, so the part no longer imports from types.ts. types.ts still re-exports it. Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
Name the project types the discovered-ecosystem map holds, and use a top-level type import for the pre-mode file type. Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
setNestedField was copied into util/catalog and deps/workspace-protocol. Both copies behave the same, so they now import one helper. Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
The three run mode functions now sit in run-modes.ts; run-static.ts is gone. Handler-parts files all carry the run- prefix (seven of twelve already did), so executor, output, parse, persistent-tasks and shell are renamed to match. Imports are updated to the new paths. Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
util/catalog.ts is now only the public re-export list. The implementation moves to util/catalog/engine.ts, next to the existing catalog helper modules, with import paths adjusted. No importer path changes. Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
The cache maintenance commands (clean, prune and their eviction helpers) move to cache/maintenance.ts, and the why report to cache/why.ts. Shared entry and output helpers move to cache/shared.ts. handler.ts keeps list, hash, size and verify, and re-exports the moved names so existing imports still resolve. index.ts loads each moved entry from its new module. Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
Moving ScopedTasksMatch left the customTypes row doc detached from its
interface. Restore that doc and put the moved interface above it. The
regenerated schema changes only the ScopedTasksMatch description, which
now reads as plain text instead of an unresolved {@link}.
Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
Cleanup was armed after finalizeServiceGraph, which ran outside the try. Arm it straight after the services boot and move the finalize step inside the try/finally, so a throw there also tears services down. Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
Contributor
|
Thank you for following the naming conventions! 🙏 |
Member
Author
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.
Summary
Behaviour-preserving split of oversized
vismodules, plus fixes from review. This replaces the earlier branchrefactor/vis-split-large-files(PR #25), which has diverged on origin.run/handler.ts:executeis an orchestrator over phase modules inhandler-parts/(file now about 67 lines). Mode functions are merged intorun-modes.ts, and handler-parts files share onerun-prefix.release/core/orchestrator/publish.ts:publishContextsplit into publish stages (file about 318 lines).util/catalog.ts: 18-line re-export; implementation inutil/catalog/engine.ts.commands/cache/handler.ts: 1657 → 760 lines;why/maintenance moved to sibling modules.config/types.ts: scoped-task type cycle broken; still over 1000 lines (see below).Fixes, which change behaviour:
Duplicate helpers are consolidated: liveness checks, shell quoting, nested-field setter, and visOptions.
Not done
config/types.tsstays above 1000 lines. SplittingVisConfigchanges the generated schema and breakscheck:schemas-drift.RunContextis still a mutable bag. The phases share state that cleanup reads later, so typed returns would change side-effect ordering.applyContext,buildContext,prepareRunRuntime,runPostPublishandrunPersistentTasksare large functions carried over unchanged.Testing
lint:typesandcheck:schemas-driftpass.secretstest files fail with a missing native binding. These are environmental and not confirmed on the base commit.Needs manual check before merge
🤖 Generated with Claude Code