Conversation
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: c55e763015
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
There was a problem hiding this comment.
Pull request overview
This PR enhances the @cardstack/software-factory factory:go CLI to fetch and normalize a “brief” card (including optional auth), and updates the package’s tooling/tests to support the new behavior.
Changes:
- Add brief loading + normalization pipeline and include normalized brief metadata in the
factory:goJSON summary. - Introduce Boxel realm auth-aware fetch wiring (with optional explicit
--auth-token) and add corresponding unit/integration tests. - Switch software-factory CLI scripts from
tsxtots-node --transpileOnlyand update lockfile accordingly.
Reviewed changes
Copilot reviewed 13 out of 14 changed files in this pull request and generated 5 comments.
Show a summary per file
| File | Description |
|---|---|
| pnpm-lock.yaml | Removes tsx and updates resolved dependency graph for new CLI execution approach. |
| packages/software-factory/package.json | Swaps CLI scripts to ts-node --transpileOnly; removes tsx dependency. |
| packages/software-factory/README.md | Documents brief fetching/normalization and the new --auth-token flag. |
| packages/software-factory/docs/software-factory-testing-strategy.md | Tightens guidance around hermetic tests + synthetic hosts/ports. |
| packages/software-factory/docs/one-shot-factory-go-plan.md | Updates design plan to match brief normalization + prompt templating direction; documents ts-node preference. |
| packages/software-factory/src/factory-entrypoint.ts | Adds --auth-token, brief fetching via runFactoryEntrypoint, and expands summary to include brief metadata/actions. |
| packages/software-factory/src/cli/factory-entrypoint.ts | Converts CLI entry to async flow; adds clearer error handling for usage vs brief failures. |
| packages/software-factory/src/factory-brief.ts | Adds brief fetch + normalization utilities (title/summary/tags/content extraction). |
| packages/software-factory/src/realm-auth.ts | Adds Boxel-profile-aware realm auth fetch setup with explicit authorization override support. |
| packages/software-factory/src/prompts/brief-judgment.ts | Adds a reusable prompt template for brief “thin MVP vs broader pass” judgment. |
| packages/software-factory/tests/index.ts | Registers new unit tests. |
| packages/software-factory/tests/realm-auth.test.ts | Tests explicit auth override + runtime-common auth middleware retry behavior. |
| packages/software-factory/tests/factory-entrypoint.test.ts | Updates/extends unit tests for new args, summary shape, and brief loading path. |
| packages/software-factory/tests/factory-entrypoint.integration.test.ts | Makes CLI integration test hermetic via local HTTP server; asserts auth header and summary includes brief metadata. |
| packages/software-factory/tests/factory-brief.test.ts | Adds unit tests for brief normalization and brief fetching with auth header. |
Files not reviewed (1)
- pnpm-lock.yaml: Language not supported
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Host Test Results 1 files ±0 1 suites ±0 2h 15m 0s ⏱️ - 1m 47s For more details on these errors, see this check. Results for commit d0b41b4. ± Comparison against base commit e172ea0. ♻️ This comment has been updated with latest results. |
…ief-intake-and-normalization-for-factorygo
Summary
factory:gobrief loading and normalization for Boxel card-source briefs, including title/content/tag extraction from brief source documents--auth-token, and wire private-realm auth through aruntime-common-based fetch pathtsxand ontots-node --transpileOnly, update docs, and add hermetic test coverageTry It From The CLI
Public realm brief:
cd packages/software-factory pnpm factory:go -- \ --brief-url http://localhost:4201/software-factory/Wiki/sticky-note \ --target-realm-path /tmp/factory-go-demo \ --mode implementPrivate realm brief with username/password:
Expected result:
briefobject includes normalized data liketitle,sourceUrl,contentSummary, andtagsactionslist shows input validation, brief fetch, brief normalization, and target-realm path resolutionresultblock ends instatus: "ready"with the next planned step for the factory flowNote: The test failures are all upstream. the work in this PR is purely within the software factory workspace and the actual software factory tests pass.