CS-10671: Rename Ticket → Issue, trim unused fields, add Phase 2 deps#4361
Open
CS-10671: Rename Ticket → Issue, trim unused fields, add Phase 2 deps#4361
Conversation
…ndency fields Rename the Ticket card type to Issue throughout the software-factory package to align with Phase 2's issue-driven loop language. Drop unused fields from both Project (deadline, teamAgents, risks, createdAt) and Issue (relatedTickets, agentNotes, estimatedHours, actualHours). Add blockedBy (linksToMany) and order (NumberField) to Issue for dependency tracking in the upcoming issue scheduler. Updates span 57 files: card definitions, bootstrap, implement loop, context builder, skill loader, tool builder, prompt templates, test fixtures, smoke tests, skills documentation, and all test files. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
The factory has a single agent, so the assignedAgent field and the pick-ticket CLI script are unnecessary. Phase 2's IssueScheduler will handle issue selection programmatically. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Contributor
There was a problem hiding this comment.
Pull request overview
This PR updates the Software Factory “DarkFactory” tracker vocabulary and schema to be issue-driven for Phase 2, renaming Ticket → Issue, trimming unused card fields, and introducing dependency primitives for upcoming scheduling.
Changes:
- Rename
Ticketcard type toIssueacross thepackages/software-factoryruntime, tools, prompts, docs, fixtures, and tests. - Remove unused Project and Ticket/Issue fields; add Issue
blockedByandorderfor dependency tracking. - Remove the
pick-ticketscript/tool registration and update tooling/fixtures accordingly.
Reviewed changes
Copilot reviewed 60 out of 60 changed files in this pull request and generated 5 comments.
Show a summary per file
| File | Description |
|---|---|
| packages/software-factory/tests/runtime-schema.spec.ts | Updates runtime schema integration test to fetch/validate Issue schema. |
| packages/software-factory/tests/factory-tool-registry.test.ts | Removes assertion for removed pick-ticket tool registration. |
| packages/software-factory/tests/factory-tool-executor.test.ts | Updates realm-search filter type from Ticket → Issue. |
| packages/software-factory/tests/factory-tool-executor.spec.ts | Renames update tool test from ticket → issue and adjusts paths/expectations. |
| packages/software-factory/tests/factory-tool-executor.integration.test.ts | Updates integration query filter type/module to Issue. |
| packages/software-factory/tests/factory-tool-builder.test.ts | Renames tool building expectations and update tool wiring to update_issue. |
| packages/software-factory/tests/factory-test-realm.test.ts | Renames test-run relationship option from ticketURL → issueURL and updates slugs. |
| packages/software-factory/tests/factory-target-realm.spec.ts | Updates end-to-end bootstrap summary shape (issueIds/activeIssue). |
| packages/software-factory/tests/factory-skill-loader.test.ts | Renames ticket-based skill resolution/filtering tests to issue-based equivalents. |
| packages/software-factory/tests/factory-prompt-loader.test.ts | Updates prompt interpolation/context tests from ticket → issue. |
| packages/software-factory/tests/factory-loop.test.ts | Renames loop config/context threading from ticket → issue. |
| packages/software-factory/tests/factory-implement.test.ts | Renames implement flow fields (activeIssue, issueId) and context threading. |
| packages/software-factory/tests/factory-entrypoint.test.ts | Updates entrypoint summary expectations to issue-based naming. |
| packages/software-factory/tests/factory-entrypoint.integration.test.ts | Updates integration summary + nextStep naming to issue-based flow. |
| packages/software-factory/tests/factory-context-builder.test.ts | Renames ContextBuilder inputs from ticket → issue for skill resolution/loading. |
| packages/software-factory/tests/factory-brief.test.ts | Updates brief normalization fixture inputs for Issue card instances. |
| packages/software-factory/tests/factory-bootstrap.test.ts | Updates bootstrap unit tests for issue creation and active issue selection. |
| packages/software-factory/tests/factory-bootstrap.spec.ts | Updates live-realm bootstrap spec to verify Issue cards. |
| packages/software-factory/tests/factory-agent.test.ts | Updates agent action validation + context building from ticket → issue. |
| packages/software-factory/tests/factory-agent.integration.test.ts | Updates integration message assertions to issue-based context. |
| packages/software-factory/tests/darkfactory.spec.ts | Renames Playwright UI assertions from ticket → issue and removes Agent Notes section check. |
| packages/software-factory/test-fixtures/darkfactory-adopter/Projects/demo-project.json | Updates fixture copy/relationships to issue terminology and removes unused fields. |
| packages/software-factory/test-fixtures/darkfactory-adopter/project-demo.json | Same as above for alternate fixture path. |
| packages/software-factory/test-fixtures/darkfactory-adopter/knowledge-article-demo.json | Updates onboarding content to issue terminology. |
| packages/software-factory/test-fixtures/darkfactory-adopter/Issues/issue-001.json | Renames attributes/meta from Ticket → Issue and removes unused Issue fields. |
| packages/software-factory/test-fixtures/darkfactory-adopter/issue-demo.json | Same as above for demo issue instance. |
| packages/software-factory/test-fixtures/darkfactory-adopter/agent-demo.json | Updates agent capability wording from ticket triage → issue triage. |
| packages/software-factory/src/factory-entrypoint.ts | Renames summary types/fields and nextStep strings to issue-based flow. |
| packages/software-factory/src/factory-bootstrap.ts | Renames bootstrapped artifacts to issues, updates active selection, and renames builders/helpers accordingly. |
| packages/software-factory/scripts/smoke-tests/factory-tools-smoke.ts | Updates smoke expectations for issue-based realm search and tool lists. |
| packages/software-factory/scripts/smoke-tests/factory-skill-smoke.ts | Renames CLI arg + sample payloads from ticket-text/tickets → issue-text/issues. |
| packages/software-factory/scripts/smoke-tests/factory-prompt-smoke.ts | Updates sample context from ticket → issue. |
| packages/software-factory/scripts/smoke-tests/factory-loop-smoke.ts | Updates smoke loop config/context from ticket → issue. |
| packages/software-factory/scripts/smoke-tests/factory-context-smoke.ts | Updates context builder smoke samples from tickets → issues. |
| packages/software-factory/scripts/smoke-tests/factory-agent-smoke.ts | Updates smoke context from ticket → issue. |
| packages/software-factory/scripts/pick-ticket.ts | Deletes pick-ticket script (tool no longer registered). |
| packages/software-factory/scripts/lib/test-run-types.ts | Renames TestRun create/execute options from ticketURL → issueURL. |
| packages/software-factory/scripts/lib/test-run-execution.ts | Threads issueURL through resolve/create test run path. |
| packages/software-factory/scripts/lib/test-run-cards.ts | Renames TestRun relationship field from ticket → issue. |
| packages/software-factory/scripts/lib/factory-tool-registry.ts | Removes pick-ticket from SCRIPT_TOOLS manifests. |
| packages/software-factory/scripts/lib/factory-tool-executor.ts | Removes pick-ticket script mapping entry. |
| packages/software-factory/scripts/lib/factory-tool-builder.ts | Replaces update_ticket tool with update_issue and updates descriptions. |
| packages/software-factory/scripts/lib/factory-skill-loader.ts | Renames ticket-based APIs/types to issue-based equivalents. |
| packages/software-factory/scripts/lib/factory-prompt-loader.ts | Switches prompt context variable from ticket → issue while keeping template IDs. |
| packages/software-factory/scripts/lib/factory-loop.ts | Renames loop config/context threading from ticket → issue. |
| packages/software-factory/scripts/lib/factory-implement.ts | Renames active work item from ticket → issue, updates status update helpers and slug derivation. |
| packages/software-factory/scripts/lib/factory-context-builder.ts | Renames ContextBuilder param + threading from ticket → issue. |
| packages/software-factory/scripts/lib/factory-agent-types.ts | Renames TicketCard → IssueCard and action type update_ticket → update_issue. |
| packages/software-factory/scripts/boxel-search.ts | Updates CLI usage string default from Ticket → Issue. |
| packages/software-factory/realm/test-results.gts | Renames TestRun relationship field and UI section from ticket → issue. |
| packages/software-factory/realm/darkfactory.gts | Renames Ticket → Issue, trims fields, adds blockedBy + order, and renames Project tickets relationship → issues. |
| packages/software-factory/README.md | Updates factory flow docs and artifact layout from Tickets → Issues. |
| packages/software-factory/prompts/ticket-test.md | Updates template variables to use issue.* context. |
| packages/software-factory/prompts/ticket-iterate.md | Updates template variables/labels to Issue terminology. |
| packages/software-factory/prompts/ticket-implement.md | Updates template variables/labels/instructions to Issue terminology. |
| packages/software-factory/package.json | Removes boxel:pick-ticket script entry. |
| packages/software-factory/docs/testing-strategy.md | Updates terminology from ticket → issue in testing strategy doc. |
| packages/software-factory/.agents/skills/software-factory-operations/SKILL.md | Updates skill guidance from update_ticket → update_issue and artifact paths. |
| packages/software-factory/.agents/skills/boxel-development/references/dev-realm-search.md | Updates realm-search reference examples to Issue terminology. |
| packages/software-factory/.agents/skills/boxel-development/references/dev-qunit-testing.md | Updates testing guidance wording to issue terminology. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
packages/software-factory/.agents/skills/boxel-development/references/dev-realm-search.md
Outdated
Show resolved
Hide resolved
packages/software-factory/.agents/skills/boxel-development/references/dev-realm-search.md
Show resolved
Hide resolved
The card field is @field status, not issueStatus. The old code incorrectly used ticketStatus and the blind rename propagated the error. Also fix "A issue" → "An issue" grammar. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
10 tasks
lukemelia
approved these changes
Apr 8, 2026
Contributor
lukemelia
left a comment
There was a problem hiding this comment.
Make sure @burieberry sees this
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.
Summary
Ticketcard type toIssuethroughoutpackages/software-factoryto align with Phase 2's issue-driven loop languagedeadline,teamAgents,risks,createdAt) and Issue (relatedTickets,agentNotes,estimatedHours,actualHours)blockedBy(linksToMany) andorder(NumberField) to Issue for dependency tracking in the upcoming issue scheduler57 files updated across card definitions, bootstrap, implement loop, context builder, skill loader, tool builder, prompt templates, test fixtures, smoke tests, skills docs, and all test files.
Test plan
🤖 Generated with Claude Code