Skip to content

feat(config): add multi-file workflow bundles - #34

Open
boudra wants to merge 9 commits into
mainfrom
feat/multifile-workflows
Open

feat(config): add multi-file workflow bundles#34
boudra wants to merge 9 commits into
mainfrom
feat/multifile-workflows

Conversation

@boudra

@boudra boudra commented Aug 9, 2026

Copy link
Copy Markdown
Contributor

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.

boudra added 4 commits August 10, 2026 00:59
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.
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