feat(config): add multi-file workflow bundles - #34
Open
boudra wants to merge 9 commits into
Open
Conversation
Make authored source files the canonical deployment and storage boundary while retaining the existing compiled runtime graph. Named resources and finite selectors keep authority explicit without merging provider or environment configuration.
Keep malformed workflow and named-environment diagnostics anchored to authored paths, and enforce the canonical Markdown partial boundary. Exercise the migrated configuration itself through classifier-to-worker execution so its finite authority and provider settings remain reproducible.
12 tasks
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.
Goals\n\n- Make the accepted project configuration the canonical multi-file YAML layout: .paseo/hub.yml for named environments and agents, one trigger with ordered inline steps per direct .paseo/workflows/*.yml file, and shared prompt partials under .paseo/workflows/partials/.\n- Reject monolithic triggers, TOML, manifests, uses, workflow calls, reusable steps, inheritance, merging, and compatibility fallbacks.\n- Allow finite expressions over declared inputs, values, and prior finite outputs to select complete named daemon environments and named agent configurations.\n- Preserve complete structured provider options, explicit provider reply authority, prompt/context semantics, deterministic hashing, and source-file provenance through deployment, storage, diagnostics, and the editor.\n- Use the same complete bundle contract for manual/UI saves, GitHub exact-SHA sync, and public configuration validation/install.\n- Keep the existing normalized environments + triggers runtime model and execute dynamic selections without duplicated routing branches.\n\n## Non-goals\n\n- No TOML support.\n- No monolithic hub.yml trigger support.\n- No backward-compatibility syntax, migration shim, automatic config rewrite, or legacy deployment fallback.\n- No reusable global steps, uses, workflow calls, nested workflows, workflow libraries, or workflow inheritance.\n- No environment inheritance, environment object merging, or environment overrides.\n- No agent inheritance, agent merging, profile patches, or per-step overrides of named agents.\n- No generic provider abstraction for sandbox or permissions; provider options remain provider-owned pass-through configuration.\n- No automatic reply selection, trigger-derived reply injection, ambient context injection, prompt preamble, or hidden authority.\n- No changes to trigger provider semantics, workflow scheduling, execution lifecycle, archival, GitHub credential authority, or output delivery beyond what is strictly required to consume the new compiled configuration.\n- No changes to Hub login, logout, credential storage, endpoint precedence, daemon enrollment, or unrelated CLI commands.\n- No new database state machines, recovery systems, leases, routing machinery, or provider-specific branches to support file layout.\n- No unrelated cleanup, opportunistic refactors, or fixes for pre-existing failures without a demonstrated causal connection to this reshape.\n- No merge, deployment, or release.\n\n## Evidence\n\n- Full unit/integration suite: 682 passed, 14 credential-gated/skipped.\n- Built public API PostgreSQL contract: 3 passed.\n- Targeted browser configuration workflows: 18 passed; source-daemon cases require the separate exact Paseo checkout.\n- Format, lint, typecheck, schema check, production build, and Docker smoke pass.\n- No matching open issue was found for the multi-file workflow configuration reshape.