Claude/sec commands graph refactor#200
Merged
Merged
Conversation
…renderer Adds runWorkflowCli — a shared helper that pipes tasks into a Workflow terminated by an OutputTask sink and runs it through @workglow/cli (renderWorkflowRun progress UI on a TTY, plain run when piped) — plus task classes for every query/db subcommand. Commands now only parse arguments, run the graph, and render the collected output. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01WcsARaK3c9Ta89y2GydQan
Every subcommand now runs its work as a Workflow task graph via the shared runWorkflowCli helper (tasks + OutputTask sink, rendered with @workglow/cli's renderWorkflowRun progress UI on a TTY, plain run when piped). Business logic that previously lived inline in Commander actions moved into ~35 new task classes under src/task/ (query, db, versioning ceremonies, resolve, canonical/family aliases, spac report and backfills, editorial set/import, fixtures, init apply, per-CIK facts), leaving commands to parse arguments, run the graph, and render the collected output. sync and bootstrap now build a single pipeline per invocation instead of sequential runs. CLI output strings and exit codes are preserved verbatim; helpers that tests import (assembleSpacReport, compareIssuerDeal, family lookups, resolveCanonical*Ref, countEligibleDeadLetters, buildEnvConfig) stay exported. UpdateAllSubmissionsTask/UpdateAllCompanyFactsTask gained input schemas since graph-driven runs validate inputs. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01WcsARaK3c9Ta89y2GydQan
Co-authored-by: Steven Roussey <sroussey@gmail.com>
Co-authored-by: Steven Roussey <sroussey@gmail.com>
…pe tier wiring Findings from code review of the graph-ification refactor: - Expected user-errors (unknown canonical/family names, self-alias, missing spac row) now come back as output ports instead of throws. On a TTY the workflow renderer intercepts thrown errors with process.exit(1), bypassing command error handling and CLI teardown; as data, the commands render the same 'error: ...' text and exit code on both TTY and piped runs. This also removes editorial set's fragile string-prefix error classification. - editorial import records a mid-file import failure as a fatalError result entry (stopping the sweep) so summaries for already-committed files are still reported instead of being lost with the throw. - Removed the duplicate SetFamilyDescriptionTask; editorial reuses FamilyDescriptionSetTask, whose schema validates the kind enum. - New canonicalTier deps seam collapses the person/company copy-paste in the three canonical alias tasks (mirrors familyTier); the canonical reference resolvers move there (command re-exports them). - issuerCiksByFamilyName lives in familyTier now; IssuersByFamilyTask and both command modules delegate to it (removes the task-to-command layering inversion and module cycles). - countEligibleDeadLetters lives with ListDeadLettersTask (extractor group re-exports it); VersionPromoteTask no longer imports from the CLI layer. - ceremonyRepos() factory replaces the registry/event-repo wiring duplicated across the five version-ceremony tasks. - ResolveObservationsTask reports a skipped count and shares one resolve loop across kinds. - FamilyAliasListTask only requires resolverVersion for orphan listing; the sponsor alias-list no longer passes an inert version. - runWorkflowCli documents the piped-port-name discipline and the expected-errors-as-data convention. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01WcsARaK3c9Ta89y2GydQan
Co-authored-by: Steven Roussey <sroussey@gmail.com>
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.
No description provided.