Skip to content

Slice 1: Job-as-product (JobTask, keyed run, observer, delegation) - #261

Open
christopherkarani wants to merge 5 commits into
mainfrom
feat/job-as-product
Open

christopherkarani wants to merge 5 commits into
mainfrom
feat/job-as-product

Conversation

@christopherkarani

Copy link
Copy Markdown
Owner

Slice 1: Job-as-product

  • New public JobTask (name, agent, brief, expected-output contract) and JobProduct (results keyed by task name + merged summary).
  • Job.run(_:tasks:merge:observer:) convenience reusing Workflow.MergeStrategy for the summary (one internal visibility widening: mergedOutput(from:) fileprivate -> internal; semantics unchanged).
  • Optional AgentObserver threaded through JobSession.fanOut(_:observer:) into child agent.run calls (default nil, source-compatible).
  • Manager-delegation recipe Job.delegate(_:manager:assignments:merge:observer:tokenLimit:prepare:) + JobAssignment: manager drafts briefs from notes, then one fan-out.
  • One-fan-out gate kept; multi-round documented via shared store + decided-N.
  • All new public types Sendable; TDD (failing test committed first).

Docs (additive, own sections): source DocC, README, new docs/guide/job-as-product.md (+ sidebar), overview.md row, front-facing-api.md subsection, api-catalog.md rows + refreshed counts (263/270 files, 2452 symbols). Example: Examples/JobAsProduct.

Test evidence

  • SWARM_OMIT_INTEGRATION_TARGETS=1 swift test --filter JobAsProductTests — 9/9 pass (failed before impl: cannot find 'JobTask' in scope)
  • --filter StoreBackedComposition — 28 pass; --filter WorkflowTests — 20 pass
  • --filter DocumentationFreshnessTests — 35 pass
  • ./scripts/ci/lean-build-test.sh — PASS
  • swiftformat --lint on 5 touched files — 0 require formatting
  • cd Examples/JobAsProduct && swift run JobAsProduct — builds and prints keyed results + merged summaries

@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.

Resolve api-catalog.md header counts: 2434 (base) + 18 (job) + 23
(inspect) = 2475 symbols; file count refreshed by script.

This branch has not been deployed

No deployments
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