Skip to content

CS-10671: Rename Ticket → Issue, trim unused fields, add Phase 2 deps#4361

Open
habdelra wants to merge 3 commits intomainfrom
cs-10671-refactor-darkfactorygts-rename-ticket-issue-trim-unused
Open

CS-10671: Rename Ticket → Issue, trim unused fields, add Phase 2 deps#4361
habdelra wants to merge 3 commits intomainfrom
cs-10671-refactor-darkfactorygts-rename-ticket-issue-trim-unused

Conversation

@habdelra
Copy link
Copy Markdown
Contributor

@habdelra habdelra commented Apr 8, 2026

Summary

  • Rename Ticket card type to Issue throughout packages/software-factory to align with Phase 2's issue-driven loop language
  • Drop unused fields from 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

57 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

  • 386/386 unit tests pass
  • TypeScript type checking passes
  • ESLint + Prettier pass
  • Playwright integration tests
    🤖 Generated with Claude Code

habdelra and others added 2 commits April 8, 2026 14:04
…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>
@habdelra habdelra requested a review from Copilot April 8, 2026 18:20
@habdelra habdelra marked this pull request as ready for review April 8, 2026 18:21
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR updates the Software Factory “DarkFactory” tracker vocabulary and schema to be issue-driven for Phase 2, renaming TicketIssue, trimming unused card fields, and introducing dependency primitives for upcoming scheduling.

Changes:

  • Rename Ticket card type to Issue across the packages/software-factory runtime, tools, prompts, docs, fixtures, and tests.
  • Remove unused Project and Ticket/Issue fields; add Issue blockedBy and order for dependency tracking.
  • Remove the pick-ticket script/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 ticketURLissueURL 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 ticketURLissueURL.
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 ticketissue.
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 ticketissue 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_ticketupdate_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.

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>
Copy link
Copy Markdown
Contributor

@lukemelia lukemelia left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Make sure @burieberry sees this

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.

3 participants