@givolt/i3-composer-agent 2.3.7 → 3.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.agents/plugins/marketplace.json +1 -1
- package/.claude/commands/i3-sop.md +19 -0
- package/.claude/commands/i3-ui-demo.md +21 -0
- package/.claude-plugin/marketplace.json +1 -1
- package/.claude-plugin/plugin.json +1 -1
- package/.codex-plugin/plugin.json +2 -2
- package/.gemini/commands/i3-sop.toml +19 -0
- package/.gemini/commands/i3-ui-demo.toml +21 -0
- package/README.md +42 -6
- package/bin/i3-composer-agent.cjs +38 -44
- package/bin/install.cjs +15 -3
- package/bin/native-layout.cjs +2 -1
- package/bin/native-migration.cjs +19 -2
- package/bin/retired-sop-fingerprints.json +213 -0
- package/bin/wizard.cjs +7 -18
- package/commands/i3-sop.toml +19 -0
- package/commands/i3-ui-demo.toml +21 -0
- package/docs/codebuddy-setup.md +20 -23
- package/docs/codex-setup.md +2 -2
- package/docs/comparison.md +131 -0
- package/docs/developer-onboarding.md +143 -0
- package/docs/opencode-setup.md +1 -1
- package/docs/other-hosts.md +2 -2
- package/docs/skill-anatomy.md +211 -0
- package/docs/upstream-repository/AGENTS.md +92 -0
- package/docs/upstream-repository/CLAUDE.md +60 -0
- package/docs/upstream-repository/CONTRIBUTING.md +137 -0
- package/docs/upstream-repository/README.md +8 -0
- package/docs/upstream-repository/gitattributes.txt +1 -0
- package/docs/upstream-repository/gitignore.txt +10 -0
- package/docs/upstream-repository/manifest.json +71 -0
- package/docs/upstream-repository/opencode-skills.link +1 -0
- package/docs/upstream-repository/skill-gap.yml +80 -0
- package/docs/upstream-repository/skills-contributing.md +15 -0
- package/docs/upstream-repository/test-plugin-install.yml +167 -0
- package/docs/workbuddy-setup.md +7 -10
- package/evals/cases/i3-enterprise-sop.json +64 -0
- package/evals/cases/i3-ui-demo.json +98 -0
- package/evals/fixtures/i3-enterprise-sop/brief.md +11 -0
- package/evals/fixtures/i3-ui-demo/asset-management.md +25 -0
- package/evals/zh-CN/cases/i3-enterprise-sop.json +61 -0
- package/evals/zh-CN/cases/i3-ui-demo.json +103 -0
- package/hooks/PROTOTYPE.md +16 -8
- package/hooks/i3-prototype.cjs +4 -10
- package/hooks/manage.cjs +30 -31
- package/package.json +48 -5
- package/plugin.json +1 -1
- package/scripts/ui-demo-dependencies-test.js +228 -0
- package/scripts/ui-demo-mcp-test.js +95 -0
- package/scripts/ui-demo-test.js +170 -0
- package/scripts/ui-prototype-execution-runtime-test.js +1 -1
- package/scripts/ui-prototype-native-test.js +25 -3
- package/skills/i3-enterprise-sop/SKILL.md +173 -0
- package/skills/i3-enterprise-sop/agents/openai.yaml +2 -0
- package/skills/i3-enterprise-sop/references/ad/assets-manifest.json +86 -0
- package/skills/i3-enterprise-sop/references/ad/prompts/01-generate.md +58 -0
- package/skills/i3-enterprise-sop/references/ad/prompts/02-review.md +54 -0
- package/skills/i3-enterprise-sop/references/ad/prompts/03-revise.md +54 -0
- package/skills/i3-enterprise-sop/references/ad/prompts/04-recheck.md +54 -0
- package/skills/i3-enterprise-sop/references/ad/readme.md +70 -0
- package/skills/i3-enterprise-sop/references/ad/templates/ad.md +337 -0
- package/skills/i3-enterprise-sop/references/assets-manifest.json +230 -0
- package/skills/i3-enterprise-sop/references/brd/assets-manifest.json +83 -0
- package/skills/i3-enterprise-sop/references/brd/prompts/01-generate.md +51 -0
- package/skills/i3-enterprise-sop/references/brd/prompts/02-review.md +47 -0
- package/skills/i3-enterprise-sop/references/brd/prompts/03-revise.md +47 -0
- package/skills/i3-enterprise-sop/references/brd/prompts/04-recheck.md +47 -0
- package/skills/i3-enterprise-sop/references/brd/readme.md +50 -0
- package/skills/i3-enterprise-sop/references/brd/templates/brd.md +169 -0
- package/skills/i3-enterprise-sop/references/codebuddy-project-guide.md +34 -0
- package/skills/i3-enterprise-sop/references/controlled-handoff.md +41 -0
- package/skills/i3-enterprise-sop/references/controlled_handoff.py +379 -0
- package/skills/i3-enterprise-sop/references/engineering-skeleton/adoption.md +200 -0
- package/skills/i3-enterprise-sop/references/engineering-skeleton/catalog.json +17 -0
- package/skills/i3-enterprise-sop/references/engineering-skeleton/directory-standard.md +119 -0
- package/skills/i3-enterprise-sop/references/engineering-skeleton/readme.md +52 -0
- package/skills/i3-enterprise-sop/references/handoff-contract.md +196 -0
- package/skills/i3-enterprise-sop/references/handoff.py +277 -0
- package/skills/i3-enterprise-sop/references/lifecycle-contract.md +91 -0
- package/skills/i3-enterprise-sop/references/plan-handoff.md +73 -0
- package/skills/i3-enterprise-sop/references/prd/assets-manifest.json +109 -0
- package/skills/i3-enterprise-sop/references/prd/prompts/01-generate.md +64 -0
- package/skills/i3-enterprise-sop/references/prd/prompts/02-review.md +49 -0
- package/skills/i3-enterprise-sop/references/prd/prompts/03-revise.md +48 -0
- package/skills/i3-enterprise-sop/references/prd/prompts/04-recheck.md +47 -0
- package/skills/i3-enterprise-sop/references/prd/readme.md +137 -0
- package/skills/i3-enterprise-sop/references/prd/template-contracts.md +39 -0
- package/skills/i3-enterprise-sop/references/prd/templates/ad.md +17 -0
- package/skills/i3-enterprise-sop/references/prd/templates/prd.md +257 -0
- package/skills/i3-enterprise-sop/references/readme.md +167 -0
- package/skills/i3-enterprise-sop/references/recovery-contract.md +65 -0
- package/skills/i3-enterprise-sop/references/review-handoff.md +105 -0
- package/skills/i3-enterprise-sop/references/selection-handoff.md +55 -0
- package/skills/i3-enterprise-sop/references/selection_handoff.py +225 -0
- package/skills/i3-enterprise-sop/references/stages.json +271 -0
- package/skills/i3-enterprise-sop/references/technical-baseline/assets-manifest.json +84 -0
- package/skills/i3-enterprise-sop/references/technical-baseline/baselines/enterprise-application-technical-baseline-v0-0-4.md +380 -0
- package/skills/i3-enterprise-sop/references/technical-baseline/readme.md +132 -0
- package/skills/i3-enterprise-sop/references/technical-baseline/templates/technical-baseline.md +133 -0
- package/skills/i3-enterprise-sop/references/template-contracts.md +142 -0
- package/skills/i3-enterprise-sop/references/testcase/assets-manifest.json +91 -0
- package/skills/i3-enterprise-sop/references/testcase/prompts/01-generate.md +53 -0
- package/skills/i3-enterprise-sop/references/testcase/prompts/02-review.md +51 -0
- package/skills/i3-enterprise-sop/references/testcase/prompts/03-revise.md +49 -0
- package/skills/i3-enterprise-sop/references/testcase/prompts/04-recheck.md +51 -0
- package/skills/i3-enterprise-sop/references/testcase/readme.md +61 -0
- package/skills/i3-enterprise-sop/references/testcase/templates/testcase.md +269 -0
- package/skills/i3-enterprise-sop/references/verification/check_execution.py +185 -0
- package/skills/i3-enterprise-sop/references/verification/check_native_execution.py +282 -0
- package/skills/i3-enterprise-sop/references/verification/check_reads.py +348 -0
- package/skills/i3-enterprise-sop/references/verification/readme.md +149 -0
- package/skills/i3-enterprise-sop/references/verification/review-output.schema.json +155 -0
- package/skills/i3-enterprise-sop/references/verification/review_handoff.py +329 -0
- package/skills/i3-ui-demo/SKILL.md +234 -0
- package/skills/i3-ui-demo/assets/antdv-build/package-lock.json +3363 -0
- package/skills/i3-ui-demo/assets/antdv-build/package.json +28 -0
- package/skills/i3-ui-demo/assets/design-source.json +11 -0
- package/skills/i3-ui-demo/assets/host-targets.json +739 -0
- package/skills/i3-ui-demo/assets/official-files.json +76 -0
- package/skills/i3-ui-demo/assets/starter/index.html +11 -0
- package/skills/i3-ui-demo/assets/starter/package-lock.json +2299 -0
- package/skills/i3-ui-demo/assets/starter/package.json +28 -0
- package/skills/i3-ui-demo/assets/starter/provenance.json +14 -0
- package/skills/i3-ui-demo/assets/starter/public/prototype-config.json +22 -0
- package/skills/i3-ui-demo/assets/starter/src/App.vue +64 -0
- package/skills/i3-ui-demo/assets/starter/src/PrototypeShell.vue +59 -0
- package/skills/i3-ui-demo/assets/starter/src/config.ts +23 -0
- package/skills/i3-ui-demo/assets/starter/src/domain/presentation.ts +30 -0
- package/skills/i3-ui-demo/assets/starter/src/domain/theme.ts +25 -0
- package/skills/i3-ui-demo/assets/starter/src/main.ts +18 -0
- package/skills/i3-ui-demo/assets/starter/src/style.css +26 -0
- package/skills/i3-ui-demo/assets/starter/tests/presentation.test.ts +23 -0
- package/skills/i3-ui-demo/assets/starter/tests/theme.test.ts +26 -0
- package/skills/i3-ui-demo/assets/starter/tsconfig.json +15 -0
- package/skills/i3-ui-demo/assets/starter/vite.config.ts +4 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/capability-definition.json +1395 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/component-inventory.json +707 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/design-system.md +26 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/generation.json +49 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/index.html +534 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/manifest.json +9 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/offline-build.json +265 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/offline.js +8888 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/origin.json +344 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/preset.json +928 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/app.js +22 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/assets/empty.svg +1 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/assets/reference-styles.json +1 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/assets/result-403.svg +1 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/assets/result-404.svg +1 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/assets-manifest.json +334 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/baseline.json +173 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/conversion.md +30 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/credits.md +17 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/design-tokens.json +881 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/index.html +28 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/licenses/@qin-ui-antdv-next-pro.txt +9 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/licenses/ant-design-icons.txt +22 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/licenses/antdv-next.txt +21 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/package.json +12 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/qa/browser-routes.json +298 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/qa/coverage.json +180 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/qa/integrity.json +13 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/qa/keyboard.json +11 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/qa/responsive.json +125 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/qa/review.md +51 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/qa/rules.log +150 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/qa/screenshots/flow-editor-html.png +0 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/qa/screenshots/flow-editor-original.png +0 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/qa/screenshots/intent-create-html.png +0 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/qa/screenshots/intent-create-original.png +0 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/qa/screenshots/models-html.png +0 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/qa/screenshots/models-original.png +0 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/qa/screenshots/workbench-html.png +0 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/qa/screenshots/workbench-original.png +0 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/qa/selection.json +9 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/qa/visual-comparison.json +342 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/readme.md +73 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/reference.md +59 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/routes.json +178 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/runtime/controls.js +99 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/runtime/dialogs.js +54 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/runtime/dom.js +264 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/runtime/forms.js +47 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/runtime/icons.js +41 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/runtime/layout.js +47 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/runtime/router.js +63 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/runtime/state.js +90 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/runtime/table.js +41 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/runtime/widgets.js +8 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/agents/AgentDetail.html +3 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/agents/AgentDetail.js +36 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/agents/AgentEditor.html +2 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/agents/AgentEditor.js +51 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/agents/AgentsPage.html +3 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/agents/AgentsPage.js +48 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/agents/CheckResults.html +2 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/agents/CheckResults.js +6 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/agents/ResourcePicker.html +2 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/agents/ResourcePicker.js +13 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/agents/data.js +24 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/agents/domain.js +32 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/agents/registry.js +25 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/agents/store.js +85 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/intents/IntentClose.html +2 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/intents/IntentClose.js +17 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/intents/IntentCreate.html +2 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/intents/IntentCreate.js +66 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/intents/IntentDecisions.html +3 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/intents/IntentDecisions.js +38 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/intents/IntentDetail.html +2 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/intents/IntentDetail.js +66 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/intents/IntentDocument.html +2 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/intents/IntentDocument.js +5 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/intents/IntentHeader.html +2 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/intents/IntentHeader.js +12 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/intents/IntentHistory.html +2 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/intents/IntentHistory.js +11 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/intents/IntentList.html +2 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/intents/IntentList.js +116 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/intents/IntentReplan.html +2 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/intents/IntentReplan.js +32 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/intents/IntentRevision.html +2 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/intents/IntentRevision.js +49 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/intents/IntentSummary.html +2 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/intents/IntentSummary.js +10 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/intents/IntentWorkspace.html +2 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/intents/IntentWorkspace.js +77 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/intents/data.js +60 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/intents/domain.js +105 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/intents/store.js +212 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/models/AuditPanel.html +2 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/models/AuditPanel.js +18 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/models/ModelDetail.html +2 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/models/ModelDetail.js +23 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/models/ModelEditor.html +2 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/models/ModelEditor.js +78 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/models/ModelGrant.html +2 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/models/ModelGrant.js +55 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/models/ModelReferences.html +2 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/models/ModelReferences.js +26 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/models/ModelRelease.html +2 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/models/ModelRelease.js +38 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/models/ModelStatus.html +2 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/models/ModelStatus.js +7 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/models/ModelTable.html +2 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/models/ModelTable.js +72 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/models/ModelTester.html +2 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/models/ModelTester.js +46 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/models/ModelsPage.html +2 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/models/ModelsPage.js +52 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/models/RowActions.html +2 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/models/RowActions.js +19 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/models/UsagePanel.html +2 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/models/UsagePanel.js +30 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/models/data.js +48 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/models/domain.js +39 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/models/store.js +129 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/operations/IncidentDetail.html +4 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/operations/IncidentDetail.js +21 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/operations/IntentSource.html +2 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/operations/IntentSource.js +8 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/operations/OperationActionDialog.html +2 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/operations/OperationActionDialog.js +37 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/operations/OperationEntry.html +2 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/operations/OperationEntry.js +10 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/operations/OperationsPage.html +2 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/operations/OperationsPage.js +37 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/operations/RepairTrack.html +2 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/operations/RepairTrack.js +49 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/operations/RunDetail.html +4 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/operations/RunDetail.js +22 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/operations/SourceSummary.html +2 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/operations/SourceSummary.js +9 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/operations/commands.js +82 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/operations/examples.js +47 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/operations/model.js +61 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/operations/repair.js +68 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/operations/store.js +55 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/operations/types.js +1 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/operations/workbench.js +18 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/pbc/ManagementTable.html +3 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/pbc/ManagementTable.js +28 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/pbc/PbcCreateEntry.html +2 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/pbc/PbcCreateEntry.js +18 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/pbc/PbcDetail.html +2 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/pbc/PbcDetail.js +31 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/pbc/PbcEditor.html +2 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/pbc/PbcEditor.js +27 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/pbc/PbcLifecycle.html +2 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/pbc/PbcLifecycle.js +16 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/pbc/PbcPage.html +2 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/pbc/PbcPage.js +43 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/pbc/PbcPicker.html +4 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/pbc/PbcPicker.js +34 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/pbc/PbcProgress.html +2 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/pbc/PbcProgress.js +30 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/pbc/PbcWizard.html +3 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/pbc/PbcWizard.js +67 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/pbc/PbcWorkspace.html +2 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/pbc/PbcWorkspace.js +41 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/pbc/PbcsPage.html +2 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/pbc/PbcsPage.js +31 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/pbc/ServiceEditor.html +2 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/pbc/ServiceEditor.js +26 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/pbc/ServiceList.html +2 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/pbc/ServiceList.js +70 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/pbc/data.js +8 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/pbc/domain.js +62 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/pbc/management.js +36 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/pbc/managementStore.js +49 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/pbc/store.js +132 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/permissions/AdminList.html +2 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/permissions/AdminList.js +38 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/permissions/EffectiveGrants.html +2 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/permissions/EffectiveGrants.js +11 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/permissions/GrantEditor.html +2 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/permissions/GrantEditor.js +45 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/permissions/MemberEditor.html +2 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/permissions/MemberEditor.js +54 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/permissions/MembersPage.html +3 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/permissions/MembersPage.js +27 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/permissions/RecordsPage.html +2 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/permissions/RecordsPage.js +12 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/permissions/RoleEditor.html +2 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/permissions/RoleEditor.js +45 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/permissions/RolesPage.html +3 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/permissions/RolesPage.js +38 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/permissions/domain.js +61 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/permissions/state.js +51 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/permissions/store.js +116 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/releases/ReleaseActionDialog.html +2 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/releases/ReleaseActionDialog.js +45 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/releases/ReleaseDetail.html +4 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/releases/ReleaseDetail.js +30 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/releases/ReleaseEditor.html +2 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/releases/ReleaseEditor.js +67 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/releases/ReleaseExecution.html +2 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/releases/ReleaseExecution.js +5 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/releases/ReleasesPage.html +4 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/releases/ReleasesPage.js +60 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/releases/commands.js +157 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/releases/model.js +136 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/releases/store.js +76 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/reviews/ReviewDetail.html +3 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/reviews/ReviewDetail.js +26 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/reviews/ReviewEvidence.html +2 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/reviews/ReviewEvidence.js +14 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/reviews/ReviewProcess.html +2 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/reviews/ReviewProcess.js +113 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/reviews/ReviewsPage.html +3 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/reviews/ReviewsPage.js +62 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/reviews/commands.js +97 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/reviews/model.js +147 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/reviews/store.js +13 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/shared/ColumnSettings.html +2 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/shared/ColumnSettings.js +9 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/shared/ListBatchBar.html +2 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/shared/ListBatchBar.js +8 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/shared/ListDeleteDialog.html +2 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/shared/ListDeleteDialog.js +37 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/shared/ListMore.html +2 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/shared/ListMore.js +8 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/shared/RecordMetadata.html +2 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/shared/RecordMetadata.js +17 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/shared/columns.js +32 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/shared/deliveryGuide.js +49 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/shared/deliveryView.js +12 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/shared/listBatch.js +15 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/shared/listSelection.js +37 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/shared/policy.js +68 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/shared/session.js +44 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/shell/ConfirmationDialog.html +2 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/shell/ConfirmationDialog.js +25 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/shell/ConsoleShell.html +2 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/shell/ConsoleShell.js +53 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/shell/PrototypeGuide.html +10 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/shell/PrototypeGuide.js +30 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/shell/ScopePage.html +2 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/shell/ScopePage.js +10 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/shell/SessionDialog.html +2 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/shell/SessionDialog.js +9 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/shell/confirmation.js +3 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/shell/navigation.js +19 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/specs/SpecDocument.html +2 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/specs/SpecDocument.js +8 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/specs/SpecEdit.html +2 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/specs/SpecEdit.js +32 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/specs/SpecHeader.html +2 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/specs/SpecHeader.js +15 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/specs/SpecHistory.html +2 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/specs/SpecHistory.js +11 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/specs/SpecReview.html +2 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/specs/SpecReview.js +57 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/specs/SpecWorkspace.html +2 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/specs/SpecWorkspace.js +37 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/specs/data.js +20 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/specs/domain.js +55 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/specs/store.js +151 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/tasks/ArtifactDetail.html +3 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/tasks/ArtifactDetail.js +18 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/tasks/TaskCreate.html +2 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/tasks/TaskCreate.js +40 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/tasks/TaskDetail.html +2 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/tasks/TaskDetail.js +51 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/tasks/TaskLaunch.html +2 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/tasks/TaskLaunch.js +9 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/tasks/TasksPage.html +5 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/tasks/TasksPage.js +48 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/tasks/domain.js +204 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/tasks/exampleSource.js +22 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/tasks/registry.js +135 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/tasks/store.js +137 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/workbench/WorkbenchPage.html +3 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/workbench/WorkbenchPage.js +36 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/workbench/model.js +56 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/workbench/store.js +15 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/workflows/FlowCanvas.html +2 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/workflows/FlowCanvas.js +27 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/workflows/FlowDetail.html +4 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/workflows/FlowDetail.js +31 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/workflows/FlowEditor.html +2 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/workflows/FlowEditor.js +68 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/workflows/WorkflowsPage.html +5 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/workflows/WorkflowsPage.js +55 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/workflows/data.js +16 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/workflows/domain.js +83 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/workflows/registry.js +18 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/src/workflows/store.js +61 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/styles/admin.css +60 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/styles/agents.css +46 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/styles/antdv.css +295 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/styles/app.css +102 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/styles/delivery.css +4 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/styles/intents.css +37 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/styles/native.css +22 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/styles/operations.css +2 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/styles/pbc.css +3 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/styles/permissions.css +22 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/styles/pro.css +1 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/styles/releases.css +4 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/styles/reset.css +246 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/styles/reviews.css +8 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/styles/tasks.css +6 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/styles/tokens.css +15 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/styles/workbench.css +61 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/styles/workflows.css +1 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/tests/admin-rules.test.js +96 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/tests/agents.test.js +14 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/tests/intent-state.test.js +37 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/tests/list-batch.test.js +44 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/tests/operation-fixtures.js +19 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/tests/operation-repair.test.js +14 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/tests/operations.test.js +25 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/tests/pbc-management.test.js +17 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/tests/pbc-state.test.js +24 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/tests/permission-config.test.js +23 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/tests/permissions.test.js +24 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/tests/releases.test.js +50 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/tests/reviews.test.js +36 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/tests/runtime-forms-router.test.js +28 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/tests/runtime-state.test.js +42 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/tests/runtime-stores.test.js +16 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/tests/spec-state.test.js +11 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/tests/tasks.test.js +27 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/tests/workbench.test.js +34 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/tests/workflows.test.js +16 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/tools/convert.mjs +168 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/tools/serve.mjs +7 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/tools/styles.mjs +11 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/reference/tools/verify.mjs +24 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/serve.cjs +16 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/template-inventory.json +28791 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/template.json +9 -0
- package/skills/i3-ui-demo/assets/templates/enterprise-admin/usability.css +44 -0
- package/skills/i3-ui-demo/assets/templates.json +10 -0
- package/skills/i3-ui-demo/assets/versions.json +20 -0
- package/skills/i3-ui-demo/readme.md +350 -0
- package/skills/i3-ui-demo/references/browser.md +71 -0
- package/skills/i3-ui-demo/references/dependencies.md +67 -0
- package/skills/i3-ui-demo/references/resources.md +142 -0
- package/skills/i3-ui-demo/scripts/dependencies.cjs +364 -0
- package/skills/i3-ui-demo/scripts/design-install.cjs +105 -0
- package/skills/i3-ui-demo/scripts/design-provider.cjs +57 -0
- package/skills/i3-ui-demo/scripts/locations.cjs +52 -0
- package/skills/i3-ui-demo/scripts/mcp.cjs +112 -0
- package/skills/i3-ui-demo/scripts/provider-discovery.cjs +131 -0
- package/skills/i3-ui-demo/scripts/resources.cjs +283 -0
- package/skills/i3-ui-prototype/SKILL.md +1 -1
- package/skills/i3-ui-prototype/references/execution-evidence.md +12 -56
- package/skills/i3-ui-prototype/scripts/codebuddy-registration.cjs +1 -1
- package/skills/i3-ui-prototype/scripts/execution-runtime.cjs +5 -2
- package/skills/i3-ui-prototype/scripts/hosts/codebuddy.cjs +3 -2
- package/skills/i3-ui-prototype/scripts/native-delivery.cjs +2 -2
- package/skills/i3-ui-prototype/scripts/prototype-hooks.cjs +23 -20
- package/docs/ui-prototype-native/MAIN-SESSION-REPORT.md +0 -66
- package/docs/ui-prototype-native/USAGE.md +0 -93
|
@@ -0,0 +1,277 @@
|
|
|
1
|
+
#!/usr/bin/env python3
|
|
2
|
+
"""Path-only SOP handoff helper. Never writes business documents or approvals."""
|
|
3
|
+
import argparse
|
|
4
|
+
import copy
|
|
5
|
+
import json
|
|
6
|
+
import os
|
|
7
|
+
from pathlib import Path
|
|
8
|
+
import tempfile
|
|
9
|
+
import uuid
|
|
10
|
+
|
|
11
|
+
VERSION = '0.2.0'
|
|
12
|
+
GLOBAL_ROLES = {'brd', 'technicalBaseline'}
|
|
13
|
+
TOPIC_ROLES = {'prd', 'ad', 'testCase', 'prototype', 'engineeringSkeleton', 'contracts'}
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
def _unique(pairs):
|
|
17
|
+
value = {}
|
|
18
|
+
for key, item in pairs:
|
|
19
|
+
if key in value:
|
|
20
|
+
raise ValueError('duplicate JSON key: ' + key)
|
|
21
|
+
value[key] = item
|
|
22
|
+
return value
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
def _nonstandard(value):
|
|
26
|
+
raise ValueError('nonstandard JSON constant: ' + value)
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
def _load(raw):
|
|
30
|
+
value = json.loads(raw, object_pairs_hook=_unique, parse_constant=_nonstandard)
|
|
31
|
+
if not isinstance(value, dict) or type(value.get('schemaVersion')) is not int or value['schemaVersion'] != 1:
|
|
32
|
+
raise ValueError('unsupported handoff schemaVersion; no automatic migration')
|
|
33
|
+
scope = value.get('scope')
|
|
34
|
+
if not isinstance(scope, dict) or not isinstance(scope.get('work'), str) or not scope['work'].strip():
|
|
35
|
+
raise ValueError('scope.work must identify the actual work')
|
|
36
|
+
if not isinstance(value.get('selected'), dict):
|
|
37
|
+
raise ValueError('selected must be an object')
|
|
38
|
+
topics = value['selected'].get('topics', [])
|
|
39
|
+
if not isinstance(topics, list):
|
|
40
|
+
raise ValueError('selected.topics must be an array')
|
|
41
|
+
seen = set()
|
|
42
|
+
for topic in topics:
|
|
43
|
+
if not isinstance(topic, dict) or not all(isinstance(topic.get(k), str) and topic[k].strip() for k in ['capabilityId', 'prdId']):
|
|
44
|
+
raise ValueError('topic requires capabilityId and prdId')
|
|
45
|
+
identity = (topic['capabilityId'], topic['prdId'])
|
|
46
|
+
if identity in seen:
|
|
47
|
+
raise ValueError('ambiguous duplicate topic selection')
|
|
48
|
+
seen.add(identity)
|
|
49
|
+
return value
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
def _selected_only(value):
|
|
53
|
+
"""Canonical writes; legacy draft indexes never become selected inputs."""
|
|
54
|
+
unexpected = set(value) - {'schemaVersion', 'scope', 'selected', 'candidates', 'delivery'}
|
|
55
|
+
if unexpected:
|
|
56
|
+
raise ValueError('unrecognized top-level fields; preserve the original and resolve their purpose before writing: '
|
|
57
|
+
+ ', '.join(sorted(unexpected)))
|
|
58
|
+
return {key: copy.deepcopy(value[key]) for key in ('schemaVersion', 'scope', 'selected')}
|
|
59
|
+
|
|
60
|
+
|
|
61
|
+
def _manifest_path(root, raw):
|
|
62
|
+
if not raw:
|
|
63
|
+
raise ValueError('an explicit manifest path is required for this operation')
|
|
64
|
+
path = Path(raw)
|
|
65
|
+
path = Path(os.path.abspath(path if path.is_absolute() else root / path))
|
|
66
|
+
if not path.resolve().is_relative_to(root):
|
|
67
|
+
raise ValueError('manifest must stay inside the explicit project root')
|
|
68
|
+
current = path
|
|
69
|
+
while current != root:
|
|
70
|
+
if current.is_symlink():
|
|
71
|
+
raise ValueError('manifest path must not traverse symbolic links')
|
|
72
|
+
current = current.parent
|
|
73
|
+
if current == current.parent and current != root:
|
|
74
|
+
raise ValueError('manifest path is outside project root')
|
|
75
|
+
return path
|
|
76
|
+
|
|
77
|
+
|
|
78
|
+
def _reference(root, role, raw, capability_id=None, prd_id=None):
|
|
79
|
+
if role not in GLOBAL_ROLES | TOPIC_ROLES:
|
|
80
|
+
raise ValueError('unknown reference role')
|
|
81
|
+
if not isinstance(raw, str) or not raw.strip():
|
|
82
|
+
raise ValueError('reference path must be explicit')
|
|
83
|
+
path = Path(raw)
|
|
84
|
+
resolved = (path if path.is_absolute() else root / path).resolve()
|
|
85
|
+
if not path.is_absolute() and not resolved.is_relative_to(root):
|
|
86
|
+
raise ValueError('relative reference escapes project root; use an explicitly adopted absolute source')
|
|
87
|
+
if resolved.is_file():
|
|
88
|
+
if not resolved.read_text(encoding='utf-8').strip():
|
|
89
|
+
raise ValueError('empty document is not a complete handoff reference')
|
|
90
|
+
elif role != 'engineeringSkeleton' or not resolved.is_dir():
|
|
91
|
+
raise ValueError('reference missing or unreadable: ' + raw)
|
|
92
|
+
result = {'role': role, 'path': str(resolved.relative_to(root)) if resolved.is_relative_to(root) else str(resolved)}
|
|
93
|
+
if role in TOPIC_ROLES:
|
|
94
|
+
if not all(isinstance(x, str) and x.strip() for x in [capability_id, prd_id]):
|
|
95
|
+
raise ValueError('topic reference requires explicit capabilityId and prdId')
|
|
96
|
+
result.update(capabilityId=capability_id, prdId=prd_id)
|
|
97
|
+
return result
|
|
98
|
+
|
|
99
|
+
|
|
100
|
+
def _assign(selected, reference, *, transient=False):
|
|
101
|
+
role, path = reference['role'], reference['path']
|
|
102
|
+
target = selected
|
|
103
|
+
if role in TOPIC_ROLES:
|
|
104
|
+
topics = selected.setdefault('topics', [])
|
|
105
|
+
matches = [x for x in topics if x['capabilityId'] == reference['capabilityId'] and x['prdId'] == reference['prdId']]
|
|
106
|
+
if len(matches) > 1:
|
|
107
|
+
raise ValueError('ambiguous duplicate topic selection')
|
|
108
|
+
if matches:
|
|
109
|
+
target = matches[0]
|
|
110
|
+
else:
|
|
111
|
+
target = {k: reference[k] for k in ['capabilityId', 'prdId']}
|
|
112
|
+
topics.append(target)
|
|
113
|
+
if role == 'contracts':
|
|
114
|
+
values = target.setdefault(role, [])
|
|
115
|
+
if not isinstance(values, list) or not all(isinstance(x, str) for x in values):
|
|
116
|
+
raise ValueError('contracts must be a path array')
|
|
117
|
+
if transient:
|
|
118
|
+
target[role] = [path]
|
|
119
|
+
elif path not in values:
|
|
120
|
+
values.append(path)
|
|
121
|
+
else:
|
|
122
|
+
if not transient and role in target and target[role] != path:
|
|
123
|
+
raise ValueError('existing selection differs; replacement and affected-pair recovery belong to S08')
|
|
124
|
+
target[role] = path
|
|
125
|
+
|
|
126
|
+
|
|
127
|
+
def _resolve(root, value, capability_id, prd_id, manual):
|
|
128
|
+
selected = copy.deepcopy(value['selected'])
|
|
129
|
+
topics = selected.get('topics', [])
|
|
130
|
+
if bool(capability_id) != bool(prd_id):
|
|
131
|
+
raise ValueError('provide both capabilityId and prdId')
|
|
132
|
+
if not capability_id and len(topics) == 1:
|
|
133
|
+
capability_id, prd_id = topics[0]['capabilityId'], topics[0]['prdId']
|
|
134
|
+
manual_roles = set()
|
|
135
|
+
for item in manual:
|
|
136
|
+
role, separator, path = item.partition('=')
|
|
137
|
+
if not separator or role in manual_roles:
|
|
138
|
+
raise ValueError('manual references require one unambiguous ROLE=PATH per role')
|
|
139
|
+
manual_roles.add(role)
|
|
140
|
+
reference = _reference(root, role, path, capability_id, prd_id)
|
|
141
|
+
_assign(selected, reference, transient=True)
|
|
142
|
+
topics = selected.get('topics', [])
|
|
143
|
+
if not capability_id and len(topics) > 1:
|
|
144
|
+
raise ValueError('multiple topics; explicitly choose capabilityId and prdId')
|
|
145
|
+
references = []
|
|
146
|
+
for role in sorted(GLOBAL_ROLES):
|
|
147
|
+
if role in selected:
|
|
148
|
+
references.append(_reference(root, role, selected[role]))
|
|
149
|
+
matches = [x for x in topics if x['capabilityId'] == capability_id and x['prdId'] == prd_id]
|
|
150
|
+
if capability_id and topics and not matches:
|
|
151
|
+
raise ValueError('requested topic is not selected; no highest-version fallback')
|
|
152
|
+
for topic in matches:
|
|
153
|
+
for role in sorted(TOPIC_ROLES):
|
|
154
|
+
if role not in topic:
|
|
155
|
+
continue
|
|
156
|
+
paths = topic[role] if role == 'contracts' else [topic[role]]
|
|
157
|
+
if not isinstance(paths, list):
|
|
158
|
+
raise ValueError('contracts must be a path array')
|
|
159
|
+
for path in paths:
|
|
160
|
+
references.append(_reference(root, role, path, capability_id, prd_id))
|
|
161
|
+
for reference in references:
|
|
162
|
+
path = Path(reference['path'])
|
|
163
|
+
reference['resolvedPath'] = str(path if path.is_absolute() else root / path)
|
|
164
|
+
return {'ok': True, 'changed': False, 'source': 'manual' if manual else 'manifest',
|
|
165
|
+
'scope': value['scope'], 'references': references,
|
|
166
|
+
'proof': 'paths read now; caller must verify current identity, upstream, scope and actual human decisions'}
|
|
167
|
+
|
|
168
|
+
|
|
169
|
+
def _store(root, path, old, value):
|
|
170
|
+
value = _selected_only(value)
|
|
171
|
+
if old is not None and _load(old) == value:
|
|
172
|
+
return {'ok': True, 'changed': False, 'manifest': str(path.relative_to(root))}
|
|
173
|
+
path.parent.mkdir(parents=True, exist_ok=True)
|
|
174
|
+
lock = path.with_name(path.name + '.lock')
|
|
175
|
+
try:
|
|
176
|
+
fd = os.open(lock, os.O_WRONLY | os.O_CREAT | os.O_EXCL, 0o600)
|
|
177
|
+
except FileExistsError as error:
|
|
178
|
+
raise ValueError('handoff writer is busy; leave existing files unchanged') from error
|
|
179
|
+
os.close(fd)
|
|
180
|
+
temporary = None
|
|
181
|
+
try:
|
|
182
|
+
if (path.read_bytes() if path.exists() else None) != old:
|
|
183
|
+
raise ValueError('manifest changed since read; stop and re-read')
|
|
184
|
+
history = None
|
|
185
|
+
if old is not None:
|
|
186
|
+
history = _manifest_path(root, str(path.parent / 'history' / (path.stem + '-' + uuid.uuid4().hex + '.json')))
|
|
187
|
+
history.parent.mkdir(exist_ok=True)
|
|
188
|
+
history.write_bytes(old)
|
|
189
|
+
fd, name = tempfile.mkstemp(prefix=path.name + '.', suffix='.tmp', dir=path.parent)
|
|
190
|
+
temporary = Path(name)
|
|
191
|
+
with os.fdopen(fd, 'w', encoding='utf-8') as stream:
|
|
192
|
+
json.dump(value, stream, ensure_ascii=False, indent=2)
|
|
193
|
+
stream.write('\n'); stream.flush(); os.fsync(stream.fileno())
|
|
194
|
+
if (path.read_bytes() if path.exists() else None) != old:
|
|
195
|
+
raise ValueError('manifest changed during update; stop without replacing it')
|
|
196
|
+
if old is None:
|
|
197
|
+
os.link(temporary, path)
|
|
198
|
+
else:
|
|
199
|
+
os.replace(temporary, path)
|
|
200
|
+
if _load(path.read_bytes()) != value:
|
|
201
|
+
raise ValueError('saved manifest readback differs')
|
|
202
|
+
result = {'ok': True, 'changed': True, 'manifest': str(path.relative_to(root))}
|
|
203
|
+
if history:
|
|
204
|
+
result['history'] = str(history.relative_to(root))
|
|
205
|
+
return result
|
|
206
|
+
finally:
|
|
207
|
+
if temporary and temporary.exists():
|
|
208
|
+
temporary.unlink()
|
|
209
|
+
lock.unlink()
|
|
210
|
+
|
|
211
|
+
|
|
212
|
+
def execute(project_root, manifest, action, *, work=None, role=None, path=None,
|
|
213
|
+
capability_id=None, prd_id=None, manual=()):
|
|
214
|
+
root = Path(project_root).resolve()
|
|
215
|
+
if not root.is_dir():
|
|
216
|
+
raise ValueError('explicit project root must already exist')
|
|
217
|
+
if action == 'resolve':
|
|
218
|
+
if manifest:
|
|
219
|
+
target = _manifest_path(root, manifest)
|
|
220
|
+
if not target.is_file():
|
|
221
|
+
raise ValueError('manifest missing; no automatic creation in read-only resolve')
|
|
222
|
+
value = _load(target.read_bytes())
|
|
223
|
+
if work is not None and work != value['scope']['work']:
|
|
224
|
+
raise ValueError('manifest belongs to a different work scope')
|
|
225
|
+
elif manual and isinstance(work, str) and work.strip():
|
|
226
|
+
value = {'schemaVersion': 1, 'scope': {'work': work}, 'selected': {}}
|
|
227
|
+
else:
|
|
228
|
+
raise ValueError('resolve requires an explicit manifest or manual references with work scope')
|
|
229
|
+
return _resolve(root, value, capability_id, prd_id, manual)
|
|
230
|
+
target = _manifest_path(root, manifest)
|
|
231
|
+
old = target.read_bytes() if target.is_file() else None
|
|
232
|
+
if action == 'init':
|
|
233
|
+
if not isinstance(work, str) or not work.strip():
|
|
234
|
+
raise ValueError('init requires the actual work scope')
|
|
235
|
+
value = _load(old) if old is not None else {'schemaVersion': 1, 'scope': {'work': work}, 'selected': {}}
|
|
236
|
+
if value['scope']['work'] != work:
|
|
237
|
+
raise ValueError('existing manifest belongs to a different work scope')
|
|
238
|
+
return _store(root, target, old, value)
|
|
239
|
+
if action == 'select':
|
|
240
|
+
if manual:
|
|
241
|
+
raise ValueError('manual overrides are read-only resolve inputs')
|
|
242
|
+
if old is None:
|
|
243
|
+
raise ValueError('manifest missing; initialize the explicit work first or use manual resolve')
|
|
244
|
+
value = _load(old)
|
|
245
|
+
if work is not None and work != value['scope']['work']:
|
|
246
|
+
raise ValueError('manifest belongs to a different work scope')
|
|
247
|
+
reference = _reference(root, role, path, capability_id, prd_id)
|
|
248
|
+
_assign(value['selected'], reference)
|
|
249
|
+
return _store(root, target, old, value)
|
|
250
|
+
raise ValueError('handoff operation not implemented in this increment')
|
|
251
|
+
|
|
252
|
+
|
|
253
|
+
def main():
|
|
254
|
+
parser = argparse.ArgumentParser(description=__doc__)
|
|
255
|
+
parser.add_argument('action', choices=['init', 'select', 'resolve'])
|
|
256
|
+
parser.add_argument('--project-root', required=True)
|
|
257
|
+
parser.add_argument('--manifest')
|
|
258
|
+
parser.add_argument('--work')
|
|
259
|
+
parser.add_argument('--role', choices=sorted(GLOBAL_ROLES | TOPIC_ROLES))
|
|
260
|
+
parser.add_argument('--path')
|
|
261
|
+
parser.add_argument('--capability-id')
|
|
262
|
+
parser.add_argument('--prd-id')
|
|
263
|
+
parser.add_argument('--manual', action='append', default=[], metavar='ROLE=PATH')
|
|
264
|
+
args = parser.parse_args()
|
|
265
|
+
try:
|
|
266
|
+
result = execute(args.project_root, args.manifest, args.action, work=args.work,
|
|
267
|
+
role=args.role, path=args.path, capability_id=args.capability_id,
|
|
268
|
+
prd_id=args.prd_id, manual=args.manual)
|
|
269
|
+
except (OSError, ValueError, UnicodeError) as error:
|
|
270
|
+
print(json.dumps({'ok': False, 'error': str(error)}, ensure_ascii=False))
|
|
271
|
+
return 1
|
|
272
|
+
print(json.dumps(result, ensure_ascii=False))
|
|
273
|
+
return 0
|
|
274
|
+
|
|
275
|
+
|
|
276
|
+
if __name__ == '__main__':
|
|
277
|
+
raise SystemExit(main())
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
# 新增、修改、撤销需求与功能退役合同
|
|
2
|
+
|
|
3
|
+
<!-- i3:zh-guide:start -->
|
|
4
|
+
## 中文使用说明
|
|
5
|
+
|
|
6
|
+
按下文完整工程步骤、检查项与验证条件执行。根据任务选择适用步骤,保留证据、风险和退出条件;正文示例中的英文标签在面向用户输出时译为中文。
|
|
7
|
+
|
|
8
|
+
默认使用简体中文解释、追问及生成报告;用户明确要求其他语言时可切换。原方法正文、引用、阈值和审批条件完整保留。代码标识、路径、命令、工具参数、JSON 键/枚举与原文引用保持原样。
|
|
9
|
+
<!-- i3:zh-guide:end -->
|
|
10
|
+
|
|
11
|
+
合同版本:v0.1.1;资源组合:0.6.1。仅为明确企业作业使用的自有资料规则,不是新Skill/命令、JSON程序或工程执行器。资源定位见[入口](readme.md),引用字段见[交接合同](handoff-contract.md),文档职责见[共用合同](template-contracts.md)。三份合同共同使用,业务JSON仍schemaVersion1,无新增必填状态字段。
|
|
12
|
+
|
|
13
|
+
## 1. 先分清意图和事实
|
|
14
|
+
|
|
15
|
+
| 意图 | 本次规格责任 | 工程责任 |
|
|
16
|
+
| --- | --- | --- |
|
|
17
|
+
| 新增 | 同主题补行为或为独立目标新建prdId;复用相容BRD/公共规范,不按页面拆PBC | 本主题足以交接后增量交原Plan,不重新生成整个工程 |
|
|
18
|
+
| 修改 | 先读现稿、人工修改与真实来源,保留稳定需求/AC,输出完整当前目标和新增/修改/保留/撤销映射 | 核配套、任务、已实现和消费者影响;文字更正不机械全链升版 |
|
|
19
|
+
| 撤销需求 | 明确单项、部分范围或整个主题;保留仍有效内容与撤销依据 | 未实施取消待办,进行中核真实进展,已实现部分需要新的移除/迁移任务 |
|
|
20
|
+
| 功能退役 | 已实现或运行功能的停止/替代目标;假设与真实状态分开 | 新的兼容、移除、数据/任务迁移和回归;删PRD文件不表示代码或生产已退役 |
|
|
21
|
+
|
|
22
|
+
当前有效目标、任务实际状态、已发生工程事实分别从真实来源回读。selected仅表示明确采用的输入,不证明运行已切换或测试通过;工程及报告沿用原方法,不回写delivery。讨论、status、review/recheck和只读预览零项目写入。
|
|
23
|
+
|
|
24
|
+
## 2. 各阶段承接及来源
|
|
25
|
+
|
|
26
|
+
| 产物 | 必须核对的本阶段责任 |
|
|
27
|
+
| --- | --- |
|
|
28
|
+
| BRD | 业务目标/能力边界/跨PBC责任改变才修订;同PBC新增主题可复用已有BRD,不补造认可 |
|
|
29
|
+
| PRD | 固定capabilityId/prdId与仍有效FR/AC;完整当前目标、新旧映射、直接来源;部分撤销不删整个主题 |
|
|
30
|
+
| AD | 对应一份明确主题PRD,保留技术/功能/ER三图及详设;准确公共规范、正式契约、数据owner、消费者、实际骨架及影响/恢复 |
|
|
31
|
+
| TestCase | 同时核产品预期及AD技术判据;新增/变更、撤销后不可用或替代、迁移/失败恢复、保留行为和跨主题回归 |
|
|
32
|
+
|
|
33
|
+
一能力一目录,主题独立版本、配套不强制同号。允许同路径人工编辑,先读当前正文、旧稿和真实变更依据;不强制SHA、不恢复发行模板,不仅凭路径/版本继承旧认可。没有旧稿或未知业务决定,只限制依赖范围,不编造历史。
|
|
34
|
+
|
|
35
|
+
公共规范、共享契约、数据与状态有各自权威,必要直接及传递消费者明确;一个主题变化不自动改全部AD或删除共享底座。原型按需、AD可并行,已采用原型核appliesTo及影响,不借SOP改其登记。TestCase是Plan可选输入,验证要求须足够,缺文件可安排设计补齐,不取消企业测试设计交付。
|
|
36
|
+
|
|
37
|
+
## 3. 选用引用与需求变更
|
|
38
|
+
|
|
39
|
+
| 时点/对象 | 处理 |
|
|
40
|
+
| --- | --- |
|
|
41
|
+
| 本次生成或修订 | 完成后回读、保存并展示真实路径,按原方法交审;不自动更新JSON |
|
|
42
|
+
| 新主题/新版本 | 文档保留独立版本,明确采用后才登记selected;不自动替换Plan,不预填未来配套 |
|
|
43
|
+
| 明确选择 | 核正文和实际配套,保留选择前清单;不适用的旧配套移出本次选择并报缺口,不假配新PRD |
|
|
44
|
+
| 部分需求撤销 | 由完整新PRD表达撤销编号和保留行为,不删除整个topic;明确选用后再更新引用 |
|
|
45
|
+
| 整个未实施主题撤销 | 核任务与消费者,只处理本主题明确需要撤销的当前选择;其他主题及仍被消费的公共引用保持 |
|
|
46
|
+
| 已实现功能退役 | 选择真实退役目标,不用selected证明生产停用;保留旧运行依据、工程根和真实报告 |
|
|
47
|
+
| 已选路径缺失/移动 | 报具体断引用;新位置实际回读后才更新,缺失不推定撤销,不猜最高版或找history兜底 |
|
|
48
|
+
|
|
49
|
+
业务JSON不加approved/cancelled/完成率;理由和旧新映射可在项目已有PRD、AD影响表、Plan/唯一tracker或已有决定记录中表达,不强制新变更文件。清单只保存引用,不接管任务状态或生产状态。物理删除需要明确文件操作任务和引用/保留检查,不能顺带删除仍被Plan/报告引用的文件。
|
|
50
|
+
|
|
51
|
+
本资源不实现登记:S06/S08另建有限辅助并验证。文档成功、登记失败保留文档和旧清单,后续只补引用;只读作业不能补写清单。多个作业无整体事务保证,写前回读并发变化则停覆盖、保留差异;不凭提示词宣称消除竞态。
|
|
52
|
+
|
|
53
|
+
## 4. 原Plan与任务状态
|
|
54
|
+
|
|
55
|
+
Plan仍是tasks/plan.md,任务仍为默认tasks/todo.md或项目明确指定唯一tracker。原方法已有“同一工作重规划原位更新;不同工作存在未完计划时停止处理冲突”,不得覆盖/搬走旧计划、批量关闭其他工作或复制竞争待办。
|
|
56
|
+
|
|
57
|
+
| 实际任务状态 | 增量交接要求 |
|
|
58
|
+
| --- | --- |
|
|
59
|
+
| 已完成 | 原ID、来源、完成状态及证据保留;要移除该功能时新建退役任务,不撤勾或改写成按新版本完成 |
|
|
60
|
+
| 未开始且仍有效 | 保留;只对受影响来源、依赖、范围与验收作获准调整,不无故重建全部ID |
|
|
61
|
+
| 未开始且明确取消 | 退出有效未完集合,保留原ID、取消依据和依赖处理;不勾为完成,不让下一次Build误领 |
|
|
62
|
+
| 进行中/部分实现 | 核真实文件、进展、副作用和未知,停在受影响安全边界,保留人工工作;不自动reset/回滚/删工程 |
|
|
63
|
+
| 其他未完工作 | 原方法停止说明冲突,由用户决定范围,不越权修改 |
|
|
64
|
+
|
|
65
|
+
默认Markdown取消记录可用同一Plan/todo的独立文字区,不使用待办或完成复选框;具体形态须在S11实际验证Build不会误领。外部tracker按其真实支持及本次授权表达取消/不实施,不能当Done,也不复制本地状态表。恢复同语义需求是新的明确变更,保留恢复关系,不复用旧取消任务当新完成证据。
|
|
66
|
+
|
|
67
|
+
资料作业只交本次变更意图、准确文档及范围、现有代码/任务事实、受影响/保留需求和AC、共享消费者、验证/恢复与Q。后续明确调用原Plan才修订计划;任务记录实际路径及编号,不只留下可变JSON链接。只改JSON不算任务已取消,资料作业不直接修改Plan/tracker。
|
|
68
|
+
|
|
69
|
+
## 5. 原Build、工程与退役
|
|
70
|
+
|
|
71
|
+
Build按获准Plan的具体任务回读实际来源。新候选、selected改变或同路径改稿不自动切设计;下一受影响任务前核计划差量,未调整时不按旧稿实现撤销内容,也不偷偷按新稿施工。无关且已获准任务按依赖及原方法可继续,不全量重置。没有监测/锁能力时不承诺即时中断其他会话;在实际检查点处理,S11验证真实接点。
|
|
72
|
+
|
|
73
|
+
AD选择真实骨架,Plan安排,获准Build才应用/验证。保留pbc-composite/agent-standalone及frontend/backend/agents/jobs、contracts/shared/tests/delivery职责,既有人工代码、原始生成基线和有效工程锁不整仓覆盖。JSON或AD修改不证明工程已生成/更新;I4/I5实际工程与存量更新另验。
|
|
74
|
+
|
|
75
|
+
退役按实际适用范围明确:入口和替代/拒绝行为;API/事件及已知提供消费双方、兼容窗口/在途请求;共享数据、保留/迁移和权限;jobs/队列/Agent工具与重试;工程配置/部署/观察;恢复点、补偿和不可逆限制。未知结果先调查,不盲重试迁移或写操作。代码回滚不等于已删数据恢复,撤销需求不授权删库;具体工程/生产动作按真实授权和原风险停点执行。
|
|
76
|
+
|
|
77
|
+
## 6. 测试、审查和Ship
|
|
78
|
+
|
|
79
|
+
TestCase为设计,原TDD/适用测试及test负责真实测试代码/运行,原代码review保持自身方法;不把企业只读文档审查套到原review。文档审查只读标注真实问题、位置、来源、影响和最小建议;用户可人工修订、明确委托、有据不采纳或保留Q,不自动改实例或取消任务。
|
|
80
|
+
|
|
81
|
+
正式撤销/退役后,原正向测试可按真实新目标更新,但保留旧用例/原始报告和变更依据,补停用/拒绝/替代、迁移/恢复及未受影响回归。不能删失败用例、改阈值或降低覆盖制造通过,不以mock关闭必需真实集成。
|
|
82
|
+
|
|
83
|
+
报告绑定实际runId、输入/配套、代码或制品、环境/依赖、执行主体、原始证据和缺陷;失败、阻断、未运行、未知分别保留。审查报告由获准调用者按原约定另存,不要求在JSON重复登记。Ship GO只说明就绪,实际发布/部署/生产退役许可和回执分别取证。
|
|
84
|
+
|
|
85
|
+
## 7. 手动方式和任务结束
|
|
86
|
+
|
|
87
|
+
无JSON时仍可原命令/适用Skill+明确任务+真实路径,读取原文和变更依据,不强制建清单、补BRD、安装登记程序或修改项目默认。不增加add/delete/retire操作;未来/i3-sop和显式Skill共用相同阶段规则,using不增路由,跨阶段auto留3.1.0。
|
|
88
|
+
|
|
89
|
+
本次结束说明真实文档/来源/读写、意图与影响、文档存在/选用/任务/运行事实、Q和未执行范围。原方法的澄清、内容、工具、认可和停轮保留;一次单阶段作业不自动连改下一文档、Plan、代码、生产或发布。资源、严格读取、完整生成、独立审查、实际工程、人审和发布各自取证,规则存在不等于已实现稳定自动化。
|
|
90
|
+
|
|
91
|
+
B05收口补充:影响结论绑定实际核查范围;对未知消费者、历史数据和恢复条件保留待核,不写成无消费者/无需迁移。回读完成以[共用合同](template-contracts.md)末次编辑后全文要求为准,外层工具仅校验证据,不授予JSON、任务、代码或生产写入。
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
# SOP Plan:选定规格交给原规划能力
|
|
2
|
+
|
|
3
|
+
<!-- i3:zh-guide:start -->
|
|
4
|
+
## 中文使用说明
|
|
5
|
+
|
|
6
|
+
按下文完整工程步骤、检查项与验证条件执行。根据任务选择适用步骤,保留证据、风险和退出条件;正文示例中的英文标签在面向用户输出时译为中文。
|
|
7
|
+
|
|
8
|
+
默认使用简体中文解释、追问及生成报告;用户明确要求其他语言时可切换。原方法正文、引用、阈值和审批条件完整保留。代码标识、路径、命令、工具参数、JSON 键/枚举与原文引用保持原样。
|
|
9
|
+
<!-- i3:zh-guide:end -->
|
|
10
|
+
|
|
11
|
+
合同版本:v0.2.2。`/i3-sop plan` 与显式 i3-enterprise-sop 的plan动作共用本合同,只做一次明确规划。四阶段文档仍由原Spec生成/修订;plan不生成第五份规格,不调用Build、测试执行、提交或发布。普通标准 `/i3-plan` 保持原入口,不强制读取本资料或handoff。
|
|
12
|
+
|
|
13
|
+
**统一读取准备:**JSON与手动路径共用同一准备环节;手动只免JSON解析,不免共用规则。先从项目实际采用记录确定所选资料根;没有选定副本时,从本次实际加载的SOP Skill目录下references/进入。CodeBuddy以 `.codebuddy/.i3-composer-agent.json` 的name/version/scope、catalog.skills及当前Skill精确assets核身份,不用resources.references推导SOP根。原 `/i3-plan` 命令可用 `.codebuddy/commands/*plan*` 定位;无项目安装才查同宿主真实全局登记,不读其他宿主副本。
|
|
14
|
+
|
|
15
|
+
**首批必读:**完整Read原 `/i3-plan` 命令正文,以及所选根readme.md、stages.json、template-contracts.md、handoff-contract.md、本plan-handoff.md。索引planHandoff.requiredResourceReads是共用文件名的同一清单,调用者和外层验证据此固定实际路径;不能只读最后一份,不用用户补内部路径。必要正文仍由模型实际读取,脚本解析索引不能冒充读取回执。项目自改资料优先,未确认完整覆盖时仍读其选定原件,不回退发行副本。
|
|
16
|
+
|
|
17
|
+
资料和目录定位用Read/Glob/Grep,不调用ls/find/mkdir等shell探测或试验权限。解析辅助仅在本次真实工具许可范围内使用,不将工具名可见视作任意命令获准;失败尝试保留且准确报告。此处约束SOP准备环节,不改原规划方法或增加权限。
|
|
18
|
+
|
|
19
|
+
**进入原规划前的检查点:**共用文件及原命令全文已读→准确业务/技术输入已读且身份/直接上游无冲突→实际加载原规划Skill成功→允许原plan/todo写入。缺读/部分读/失败先补齐,未齐停止;身份或上游冲突按§2.1先停,不因打算写待审稿绕过。原Skill已加载、命令名称或自述合规均不代替其他条件。最终列出实际共用读取、原命令路径及真实失败。此检查点统一既有要求,不新增用户必填参数、通用拦截器或业务JSON字段。
|
|
20
|
+
|
|
21
|
+
## 1. 对象明确后再规划
|
|
22
|
+
|
|
23
|
+
只读核当前项目与已采用规则、输入选择、真实资料和现有任务目标。用户可只输入 `/i3-sop plan`,或加一句主题;唯一材料与有效选择足够时直接承接,不要求再写长提示词或内部路径。多清单/多主题、动作正文矛盾、关键缺口或不同工作的未完计划,先说明实际选项、原因和建议并等待。无答复或取消零写入,不能按最大版本、目录顺序或模型推荐代选。
|
|
24
|
+
|
|
25
|
+
先区分清单路径交接和手动方式。显式给清单、项目实际采用记录或当前唯一且适用的清单均须真实读取;清单存在本身不改变标准流程或证明业务认可。损坏、不可读或未知格式先报告,不静默换源或退回手动掩盖。没有清单时可请用户明确实际AD及其配套或选择已有手动材料,不强制创建JSON、补BRD或重走前序。范围选择仅为本次会话,不写入永久偏好。
|
|
26
|
+
|
|
27
|
+
资源按本次明确材料→项目已采用自改副本→同宿主项目安装→同宿主可读全局定位。已选项目源失效就报告,不探读低优先级根来替代;不能确认自改合同已覆盖时完整读项目选定原件,不恢复发行副本。当前项目实际采用的CONSTRAINTS/ADR/技术规则照常有效。
|
|
28
|
+
|
|
29
|
+
## 2. 只读解析并实际读原文
|
|
30
|
+
|
|
31
|
+
先完成首批必读,再区分JSON解析和手动路径读取。两种方式均读所选根README、本索引stages.json、template-contracts.md、handoff-contract.md和本合同;生命周期或恢复有实质影响时读其适用约定。plan不加载BRD/PRD/AD/TestCase模板及其生成/审查提示词。项目规则及真实业务/技术依据必须实际回读。
|
|
32
|
+
|
|
33
|
+
复用[handoff.py](handoff.py)的 `resolve`,先核实际 `--help`;相对路径以明确的业务项目根解析,不以清单目录解析。以capabilityId+prdId识别本主题,明确组合逐主题解析;不以单个AD或JSON代替完整规格。工具返回路径不证明模型已读、配套正确或获得批准。
|
|
34
|
+
|
|
35
|
+
清单顶层仍仅schemaVersion、scope、selected。读取selected.technicalBaseline和本主题prd/ad/contracts/engineeringSkeleton及适用testCase/prototype;BRD按追溯需要读。不调用init/select/改选,不写JSON、审批、delivery、candidates、activeTopic或任务状态。
|
|
36
|
+
|
|
37
|
+
Python不可用时直接按用户明确的手动路径及准确引用读取,不安装环境或改JSON。手动输入可临时覆盖相同角色,但须说明与既有选择的差异,不持久化selected。现有resolve不做语义验证;身份、文件与正文版本、直接上游、共享权威与消费者影响由本次实际材料核对。
|
|
38
|
+
|
|
39
|
+
| 必要输入 | 如何核对 |
|
|
40
|
+
| --- | --- |
|
|
41
|
+
| 当前主题PRD+配套AD | 完整读取本次有效正文,核能力/主题、独立版本、AD直接上游和需求/AC;不猜高版本、不读另一主题替代 |
|
|
42
|
+
| 已采用技术规约与质量边界 | 真实文档或适用CONSTRAINTS/ADR;不是空模板。若已由AD/项目规则完整承载,不强制另建总规约 |
|
|
43
|
+
| 必要共享契约 | 当前接口、事件、数据责任、兼容/迁移和实际权威;跨主题只读所依赖定义,不全量加载所有AD或历史 |
|
|
44
|
+
| 工程采用/骨架来源 | 准确采用说明、来源版本、目录/模块责任和已有结构映射;规范不冒充可运行工程;初始化、调整或迁移按实际缺口排任务 |
|
|
45
|
+
| 相关代码及工程事实 | 实际完整读取相关源码及本项目依赖/构建配置,按真实技术栈定位,例如Node项目package.json;不能以AD/规范里的命令代替读取现有配置。核真实测试命令及示例,区分拟建与已有,不虚构已构建成功 |
|
|
46
|
+
| TestCase/原型 | 已形成且适用就核准确配套和范围。没有独立TestCase不统一阻断Plan,测试策略从AD/实际规范承接并排必要补齐;原型按需,无界面不强制补画 |
|
|
47
|
+
| 当前Plan/唯一任务目标 | 实际读取;不同工作未完先问,不覆盖或静默另起权威;同工作修订保留人工内容及已完成事实 |
|
|
48
|
+
|
|
49
|
+
逐项定位原SPEC六项:目标、完整可执行命令、项目结构、代码风格及示例、测试策略、Always/Ask first/Never工程边界。关键缺口先说明依赖影响;只有§2.1身份与直接上游已核一致后,非阻断缺口才可在明确范围内规划独立部分,不能用此条跨过身份停点或杜撰技术决定。长文按段覆盖并记录范围,摘要只导航,不以省上下文省略必要业务依据,不承诺固定耗时。
|
|
50
|
+
|
|
51
|
+
### 2.1 身份或直接上游冲突先停
|
|
52
|
+
|
|
53
|
+
对照本次准确PRD、AD正文的能力/主题标识、AD声明的直接上游路径与PRD版本,以及适用清单/手动选择。已声明内容互相矛盾时先报告冲突,不加载原规划、不创建或修改plan/todo,也不另存候选计划。即使AD正文功能一致、模型判断头部疑似笔误,身份仍不能由模型自行裁定;只给原文证据、影响、建议和可选操作,等待人工处理后重新核对,不修业务稿或JSON。选择了某个文件路径不等于确认了文件内部矛盾。
|
|
54
|
+
|
|
55
|
+
PRD与AD各自独立版本不必相同,例如PRD v0.0.1与AD v0.0.3明确引用该PRD v0.0.1是允许的;AD改引另一主题、错误路径或不同PRD版本则须先停。缺独立TestCase/原型仍按需处理,不扩大为统一规划前置。无冲突后的非阻断Q保留人工空间,不要求问题清零。
|
|
56
|
+
|
|
57
|
+
## 3. 实际复用原Plan
|
|
58
|
+
|
|
59
|
+
依据本宿主真实安装清单/命令目录定位原 `/i3-plan`(TOML宿主可能登记为planning),实际读当前命令义务;不要复制一份删减规则或写死开发工作区路径。加载原 [i3-planning-and-task-breakdown Skill](../../i3-planning-and-task-breakdown/SKILL.md)并取得本宿主正式机制的成功回执,再执行原方法。资源版本与安装位置须以实际文件核对。
|
|
60
|
+
|
|
61
|
+
有正式命令转交能力时记录真实转交;只有Skill工具时实际加载该Skill并履行原命令义务。两者如实区分,不能把Skill加载称为执行另一个slash命令。调用拒绝/失败或没有正式机制时停止,不裸跑生成计划;当前主会话阅读本说明不构成原规划已调用证据。
|
|
62
|
+
|
|
63
|
+
把上述实际引用、本次目标和必要澄清组织为内部规划任务,直接交原规划方法,不要求用户再复制提示词。原Plan负责只读理解、依赖图、纵向切片、AC/验证步骤、检查点和风险;本合同不重写其算法。计划文件的保存仍按原规则允许,不把“只读理解”误作不能写规划产物。
|
|
64
|
+
|
|
65
|
+
## 4. 原产物与停点
|
|
66
|
+
|
|
67
|
+
保持原默认 `tasks/plan.md` 与 `tasks/todo.md`,或项目已有明确且原规则允许的外部唯一任务目标。不得改原命令、另建SOP任务格式或覆盖不同工作的未完计划。计划内保留实际来源路径、正文版本、主题、FR/AC、必要共享依赖和验证依据;不能只留下一个可变JSON链接。
|
|
68
|
+
|
|
69
|
+
来源表列本次实际使用的PRD、AD、技术规范、共享契约、工程采用说明的完整项目相对路径和文档版本;明确项目外来源才用绝对路径。AD_v…、契约简称或JSON位置不代替准确来源。最终回读时逐项对照实际读取集合,缺引用先补齐原Plan再全文回读交审,不能只在会话报告补路径;不据此改写输入业务稿。
|
|
70
|
+
|
|
71
|
+
本动作只允许原规划产物,不改业务稿、JSON、采用记录、工程配置或代码。最后写入后完整回读实际plan与唯一任务目标,核覆盖和差量;来源在执行中变化须报告,不把旧任务套新设计。展示实际路径、未决项和范围,交人工审阅并停轮,不代批或自动Build。
|
|
72
|
+
|
|
73
|
+
使用者另行批准后调用原 `/i3-build` 或 `/i3-build auto`。有效规格路径、Git基线、完整计划明确认可、逐任务测试/构建/提交和风险停点均保留。未提交JSON、项目指引等仍可能触发原Git停点,不自动ignore、不擅自提交来规避;非默认位置与auto有冲突时如实说明。企业跨阶段auto属于3.1.0,不能由plan暗中启动。
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": 1,
|
|
3
|
+
"resourceId": "i3-enterprise-sop-prd",
|
|
4
|
+
"resourceVersion": "0.3.3",
|
|
5
|
+
"status": "local-resources-only-not-released",
|
|
6
|
+
"source": {
|
|
7
|
+
"path": "skills/i3-enterprise-sop/references/prd/templates/prd.md",
|
|
8
|
+
"templateVersion": "v0.0.4",
|
|
9
|
+
"sha256": "1c728d4865ae1ad3936a735d3543c21f4a06fd195f7f94c5ac721d560ca10aee",
|
|
10
|
+
"resourcePath": "templates/prd.md",
|
|
11
|
+
"distributionRendering": "Existing branding pipeline adds one standard i3:zh-guide block; remaining template bytes preserved."
|
|
12
|
+
},
|
|
13
|
+
"designEvidence": {
|
|
14
|
+
"path": "artifacts/verification/i1-full-handoff-20261017/REPORT.md",
|
|
15
|
+
"scope": "historical direct-Skill PRD verification; not included; PRD command needs separate evidence",
|
|
16
|
+
"sha256": "853be438ef3f41a0a0b2be9f0f307a2f947f3655939acb346b440feb996f3304",
|
|
17
|
+
"included": false
|
|
18
|
+
},
|
|
19
|
+
"prompts": {
|
|
20
|
+
"generate": "prompts/01-generate.md",
|
|
21
|
+
"review": "prompts/02-review.md",
|
|
22
|
+
"revise": "prompts/03-revise.md",
|
|
23
|
+
"recheck": "prompts/04-recheck.md"
|
|
24
|
+
},
|
|
25
|
+
"files": [
|
|
26
|
+
{
|
|
27
|
+
"path": "readme.md",
|
|
28
|
+
"sourceSha256": "60603eaa38487fa2eb6ead60378ba4f832830c2dafc4fee612dac3a0679a05e3",
|
|
29
|
+
"sha256": "c9667e22973d6c7b2a5e14d8fa6311fd99192a46404339e9cab5d044fc6038da",
|
|
30
|
+
"role": "project-owned-guidance"
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
"path": "prompts/01-generate.md",
|
|
34
|
+
"sourceSha256": "93ebe9f47214915f1043ca602c378b10a7f08be02462b5eb516032f4ed884a35",
|
|
35
|
+
"sha256": "5911edae8792a9a7e939f579de95ef237b577252e5bfae9a3ee5ebee7533da3a",
|
|
36
|
+
"role": "project-owned-guidance"
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
"path": "prompts/02-review.md",
|
|
40
|
+
"sourceSha256": "83b03378d7dec4a18217571e777b715a8aba02443ac453f3a5e118f114882f09",
|
|
41
|
+
"sha256": "03278975fb19b69d9023ec834c450322582d92672422f4b04e555cac8472b07e",
|
|
42
|
+
"role": "project-owned-guidance"
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
"path": "prompts/03-revise.md",
|
|
46
|
+
"sourceSha256": "f8dff8e817dad56552fd30e46d187c8515546b2f9c6e43a49c471f100711f6e5",
|
|
47
|
+
"sha256": "b2a1cf49d651e655fa28e81e5ce7771731d6a3f7c9ddd64a0c8e33b8c359732e",
|
|
48
|
+
"role": "project-owned-guidance"
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
"path": "prompts/04-recheck.md",
|
|
52
|
+
"sourceSha256": "33f6d6f20b2c08daaf6ec833fd775c3ad73fa70803c7e386f8f27395e46521ae",
|
|
53
|
+
"sha256": "bb457ebaadf55edd0aa913c4228b66786d2727c1b91d81abd4e8c3a2e5e22638",
|
|
54
|
+
"role": "project-owned-guidance"
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
"path": "template-contracts.md",
|
|
58
|
+
"sourceSha256": "2f822f9143284579977fe69dff1ce2d2854bb5107e737765ea3c27093d801a63",
|
|
59
|
+
"sha256": "30b64ac1b7f37b79ac6c1249d8e01cca53a5bd29b7442791a2a0af5cf917dca9",
|
|
60
|
+
"role": "project-owned-guidance"
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
"path": "templates/ad.md",
|
|
64
|
+
"sourceSha256": "f729203478a7bfb42451b053b8f4c7a0b1ce81ac666690e83176c5b02679b28e",
|
|
65
|
+
"sha256": "4cb36de42a3a27004f7dcc8f5669a6823307f0fe9e6e731d668373cb91a06d1a",
|
|
66
|
+
"role": "handoff-note-not-template"
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
"path": "templates/prd.md",
|
|
70
|
+
"sourceSha256": "1c728d4865ae1ad3936a735d3543c21f4a06fd195f7f94c5ac721d560ca10aee",
|
|
71
|
+
"sha256": "22f7b09d1b9914975d602e24f39ce7e63d945493f55a4654b6484a8569b73a8a",
|
|
72
|
+
"role": "exact-source-template-branded-guide-only"
|
|
73
|
+
}
|
|
74
|
+
],
|
|
75
|
+
"designSources": [
|
|
76
|
+
{
|
|
77
|
+
"path": "docs/sop-design/template-contracts.md",
|
|
78
|
+
"sha256": "b8aca73f3e8f70fc3b62df1aefdb8fb89097f7b896197e8d036948639e5e2609",
|
|
79
|
+
"included": false,
|
|
80
|
+
"role": "maintenance provenance only; not a readable bundled dependency",
|
|
81
|
+
"documentVersion": "v0.0.2",
|
|
82
|
+
"versionEvidence": "document header"
|
|
83
|
+
}
|
|
84
|
+
],
|
|
85
|
+
"projectDiscovery": {
|
|
86
|
+
"entryRelativeToReferences": "readme.md",
|
|
87
|
+
"codebuddyFragmentRelativeToReferences": "codebuddy-project-guide.md",
|
|
88
|
+
"activation": "explicit-enterprise-task-or-applicable-recorded-selection",
|
|
89
|
+
"ordinaryInstallEnablesEnterpriseWorkflow": false,
|
|
90
|
+
"resourceRoot": "actual-loaded-sop-skill/references"
|
|
91
|
+
},
|
|
92
|
+
"dependencies": [
|
|
93
|
+
{
|
|
94
|
+
"path": "../template-contracts.md",
|
|
95
|
+
"role": "shared-contract",
|
|
96
|
+
"resolutionBoundary": "selected-enterprise-sop-root"
|
|
97
|
+
},
|
|
98
|
+
{
|
|
99
|
+
"path": "../handoff-contract.md",
|
|
100
|
+
"role": "shared-handoff-contract",
|
|
101
|
+
"resolutionBoundary": "selected-enterprise-sop-root"
|
|
102
|
+
},
|
|
103
|
+
{
|
|
104
|
+
"path": "../lifecycle-contract.md",
|
|
105
|
+
"role": "shared-lifecycle-contract",
|
|
106
|
+
"resolutionBoundary": "selected-enterprise-sop-root"
|
|
107
|
+
}
|
|
108
|
+
]
|
|
109
|
+
}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
# PRD 生成任务
|
|
2
|
+
|
|
3
|
+
<!-- i3:zh-guide:start -->
|
|
4
|
+
## 中文使用说明
|
|
5
|
+
|
|
6
|
+
按下文完整工程步骤、检查项与验证条件执行。根据任务选择适用步骤,保留证据、风险和退出条件;正文示例中的英文标签在面向用户输出时译为中文。
|
|
7
|
+
|
|
8
|
+
默认使用简体中文解释、追问及生成报告;用户明确要求其他语言时可切换。原方法正文、引用、阈值和审批条件完整保留。代码标识、路径、命令、工具参数、JSON 键/枚举与原文引用保持原样。
|
|
9
|
+
<!-- i3:zh-guide:end -->
|
|
10
|
+
|
|
11
|
+
原方法调用:本次起草必须先成功加载原 `i3-spec-driven-development` Skill;宿主支持Skill工具时取得成功回执,再按其外部格式/存储能力使用本模板和唯一目标。不是调用原/i3-spec包装后改写其根SPEC.md规则,也不让using把Spec变成可选。方法不可用或真实冲突时报告,不裸跑写稿;内容、认可、保存后停轮保留。
|
|
12
|
+
|
|
13
|
+
目录与上下文:新项目无已采用输出约定时默认 `spec/{能力名称}/`,同PBC多主题PRD独立版本,AD/TestCase固定本次直接上游;已有位置不自动迁移。只读本主题完整来源及必要共享依赖,不全量载入候选/历史,摘要不替代正文。最后回读后原方法要求立即停轮时,报告候选实际路径和待登记事项,后续获准作业补JSON,不自动调用Plan/Build。
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
此提示词是提供给现有 `i3-spec-driven-development` 的企业任务说明。它不新增技能、命令或自动调度。通过已启用项目指引定位到本文件后,模型从实际读取的项目采用记录、选定清单及业务材料补齐任务卡;用户不必逐项填写路径。仅在材料缺失、存在歧义、真实冲突或覆盖风险时澄清,不猜路径或业务答案。未明确选择企业 SOP 时不应用本提示词。
|
|
17
|
+
|
|
18
|
+
## 本次任务卡(模型据已读材料整理,缺口向调用者澄清)
|
|
19
|
+
|
|
20
|
+
- 任务:只起草一个 PBC 的一个 PRD 主题。
|
|
21
|
+
- EBC / PBC:`{capabilityId、名称、边界的实际确认状态}`。
|
|
22
|
+
- PRD:`{稳定 prdId、需求主题、独立业务版本}`。
|
|
23
|
+
- 唯一输出:`{项目内完整目标路径}`。
|
|
24
|
+
- 输出约定依据:`{实际已读的项目根README或其明确引用条目,目录及文件名约定;无约定则说明拟建,不伪称已有}`。
|
|
25
|
+
- 文件名占位符对照:`{按项目实际命名式逐项列:PBC名称、capabilityId、主题名称、prdId、业务版本;区分名称与标识,写明本式实际采用哪些字段及来源}`。
|
|
26
|
+
- 资源指南:`{本次采用的 readme.md 路径}`。
|
|
27
|
+
- PRD 模板:`{本次采用的 templates/PRD.md 路径、模板版本及采用记录}`。
|
|
28
|
+
- 固定业务输入:`{BRD及必要的业务答复、规则、历史文档;每项路径/固定版本/条目;标明有效目标、上下文或仅比较}`。
|
|
29
|
+
- 相关主题、原型、旧实现:`{实际固定引用;没有则明确没有}`。
|
|
30
|
+
- 语言及本次补充约束:`{实际选择;不把演练约束当产品规则}`。
|
|
31
|
+
- 输入的认可与缺口:`{谁真实认可过什么、未认可内容的允许用途、不能继续的范围}`。
|
|
32
|
+
|
|
33
|
+
来源选择沿用项目指引:本轮明确材料、项目明确采用副本、当前宿主项目安装、当前宿主可读全局安装。选定材料缺失不静默换版;普通文件存在不等于采用。必须实际读取项目根 README 及其中适用的输出目录/命名约定后确定唯一目标;不能因 BRD 在 inputs 中就把 PRD 也写进 inputs,不能漏掉项目约定的能力文件夹或文件名前缀。任务卡整理后简短汇报采用组合、业务输入、拟写位置及缺口;已有真实授权且无歧义时继续,不为每个内部字段增设确认。项目模板与提示词只读,写入业务候选不改变所采用副本。
|
|
34
|
+
|
|
35
|
+
路径处理在内部任务卡完成:项目写“PBC名称”时必须使用来源中的名称,不得换成 capabilityId;主题名称也不得换成 prdId。按项目约定逐项展开后固定完整路径,实际写入和最后回读逐字核对该路径。不以原方法的模块 ID 示例、模板通用占位或个人命名偏好覆盖项目具体约定。正文身份仍保留真实稳定标识,不因显示名称或文件名改变身份。
|
|
36
|
+
|
|
37
|
+
## 执行说明
|
|
38
|
+
|
|
39
|
+
1. 使用原技能的澄清、规格内容与保存后停轮规则。实际读取任务卡指定的指南、PRD 模板及全部适用业务输入;长文分段读取,列出本轮实际已读文件和范围。链接的资料只在真正读取后才可声称已读。资料中的示例、其他建设计划和历史认可不授予本次执行权限。
|
|
40
|
+
2. 写前列出新增假设和设计选择:逐项写来源及具体条目、明示/推导/建议/冲突/演练性质、采用状态、影响的功能与交接范围。缺少业务答案时列 Q,先澄清;不要把没有冲突误当已获得认可。仅在原方法和本次真实授权允许的范围内起草,受阻部分保持待定。
|
|
41
|
+
3. 只写任务卡指定目标,不修改业务输入、模板、提示词、其他主题或技能/命令。已有同名文件先读取并说明如何保留历史,不直接覆盖人工修改。不生成重复 `SPEC.md` 来假装完成规格内容;若入口要求与明确路径冲突,报告真实冲突并停止受影响工作,等待选择直接 Skill 等路径。
|
|
42
|
+
4. 按模板展开当前主题的完整有效目标。沿用 capabilityId、prdId、FT/US/FR/AC、规则及问题编号,不按页面拆能力、不将 FR 和 US 强配一对一;同 PBC 的其他主题保持独立版本。旧行为只有本次明确选定条目才生效;比较材料不自动成为有效目标。保留、替代、停用和未实现分别说明;缩减范围需要准确理由、闭环影响和真实确认。
|
|
43
|
+
5. 保留 Feature/Story 和每项适用行为的九项语义。每条 AC 的前置、动作、可观察结果及来源可定位;复合 AC 拆成可追踪子项。共用要求落到适用 Story/AC,或给出不适用依据。S01—S14、G01—G08 按实际位置与缺口核对,不能仅按编号或表格数量判完成。
|
|
44
|
+
6. 对权限逐处核对:角色表、共用规则、正常/拒绝流程、状态、页面操作、协作、AC 与 Q 使用同一条件。尤其检查多角色组合、对象归属、状态与例外、只读和写权限、决定和代记结果的区别;来源未授予的动作不得默认开放。产品规则未定时明确 Q,不交给 AD 或编码随意选择。
|
|
45
|
+
7. 字段的生成、存储、展示、可编辑、必填及校验条件分开表达;不把系统生成的属性自动变成页面必显或用户必填。校验/权限拒绝、明确技术失败和提交结果未知分开;成功、失败、重复请求、取消、历史记录和跨主题副作用的表现必须有依据。未知重试或审计策略先列问题,不自行承诺。
|
|
46
|
+
8. 最终稿每条新增规范性要求逐条回查来源,检查原意、条件、例外和要求强度;推导或建议保持标记。全文表格逐行核对表头列数及列义,防止内容落入相邻列;不可用总行数、关键词命中或自称检查代替实际核对。
|
|
47
|
+
9. 最后一次写入/修改后实际回读最终目标,复核来源、权限、AC、表格与受影响引用;后续若再修改,须在最后一次修改后重新分段完整回读最终目标,不能只回读局部。声明哪些核查实际执行、哪些未验证,不把本轮补读追认成过去已读。
|
|
48
|
+
10. 汇报目标路径、文档身份/版本、实际输入和采用情况、自查结果、Q 及具体受阻范围。请求人工审阅并结束当前轮。不得自动进入原型、AD、TestCase、Plan、Build 或发布;本份 PRD 不等于原 SPEC 六项齐备、业务认可或开发准入。
|
|
49
|
+
|
|
50
|
+
## B05 生命周期与必要读取
|
|
51
|
+
|
|
52
|
+
按选定资源索引实际读lifecycleContract及共用模板/交接合同;先列本次必读路径和用途,实际核所选正文及必要依赖,未读/失败/部分读照实。只加载本次generate动作,不加载其他动作或低优先级源兜底。
|
|
53
|
+
|
|
54
|
+
保持主题、FR/AC身份和完整当前目标;明确新增/修改/保留/撤销及真实来源,部分撤销不删整个主题,已实现事实不因目标撤销消失。
|
|
55
|
+
|
|
56
|
+
只写本次明确文档目标,先读现稿与人工修改并保留历史;最后编辑后实际回读。JSON、Plan、任务、代码和生产不是本次写入范围;生成文档后展示路径并交审,不自动登记JSON;用户明确选用后才登记selected,原方法停轮仍保持。
|
|
57
|
+
|
|
58
|
+
当前目标、任务与已实现事实分开;已完成任务保留,未实施取消不记完成,进行中保留真实工作,已实现退役通过新任务。原Plan/Build实际消费须按本轮证据核验,JSON最小辅助已提供但不在本次文稿写入权限内,不自动下阶段、工程、提交或发布。
|
|
59
|
+
|
|
60
|
+
## B05-r2 最后修改后的全文回读
|
|
61
|
+
|
|
62
|
+
全部Write/Edit结束后,必须使用读取工具分段完整覆盖最终目标正文,超出工具截断就续读剩余段。已全文读过但之后又Edit时,须再次完整覆盖最终稿,不能只回读改动行并声称“末次修改后全文已核”。本次必要输入清单中仍有未读/失败/部分读时,先报告准确缺口,不写成已全部读取;补读不是过去已读。
|
|
63
|
+
|
|
64
|
+
未完成收尾就保留实际稿和未核范围,不删除稿件、不补造通过,不登记为已完成回读的完整候选。收尾不改写业务决定,不自动进入下一阶段;只读review/recheck依然零项目写入。
|