@givolt/i3-composer-agent 3.0.0 → 3.2.1
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 +3 -3
- 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 +3 -3
- package/.gemini/commands/i3-ui-demo.toml +21 -0
- package/README.md +29 -32
- 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 +3 -3
- 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/workbuddy-setup.md +7 -10
- package/evals/cases/i3-enterprise-sop.json +70 -32
- package/evals/cases/i3-ui-demo.json +98 -0
- package/evals/fixtures/i3-ui-demo/asset-management.md +25 -0
- package/evals/zh-CN/cases/i3-enterprise-sop.json +77 -31
- 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 +20 -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 +151 -91
- package/{references/engineering-skeleton-resources → skills/i3-enterprise-sop/references/engineering-skeleton}/directory-standard.md +29 -15
- package/skills/i3-enterprise-sop/references/handoff.py +348 -0
- package/skills/i3-enterprise-sop/references/read_text.py +60 -0
- package/{references/enterprise-sop-resources/technical-baseline/baselines//344/274/201/344/270/232/345/272/224/347/224/250-/346/212/200/346/234/257/350/247/204/347/272/246_v0.0.2.md → skills/i3-enterprise-sop/references/technical-baseline/baselines/enterprise-application-technical-baseline-v0-0-4.md} +136 -51
- package/skills/i3-enterprise-sop/references/technical-baseline/readme.md +23 -0
- package/{references/enterprise-sop-resources/technical-baseline/templates/TECHNICAL-BASELINE.md → skills/i3-enterprise-sop/references/technical-baseline/templates/technical-baseline.md} +1 -1
- package/{references/enterprise-sop-resources/ad/templates/AD.md → skills/i3-enterprise-sop/references/templates/ad.md} +34 -27
- package/{references/enterprise-sop-resources/brd/templates/BRD.md → skills/i3-enterprise-sop/references/templates/brd.md} +21 -10
- package/{references/enterprise-sop-resources/prd/templates/PRD.md → skills/i3-enterprise-sop/references/templates/prd.md} +57 -24
- package/{references/enterprise-sop-resources/testcase/templates/TestCase.md → skills/i3-enterprise-sop/references/templates/testcase.md} +32 -22
- 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
- package/references/engineering-skeleton-resources/README.md +0 -52
- package/references/engineering-skeleton-resources/adoption.md +0 -200
- package/references/engineering-skeleton-resources/catalog.json +0 -17
- package/references/enterprise-sop-resources/README.md +0 -165
- package/references/enterprise-sop-resources/ad/README.md +0 -70
- package/references/enterprise-sop-resources/ad/assets-manifest.json +0 -106
- package/references/enterprise-sop-resources/ad/prompts/01-generate.md +0 -58
- package/references/enterprise-sop-resources/ad/prompts/02-review.md +0 -54
- package/references/enterprise-sop-resources/ad/prompts/03-revise.md +0 -54
- package/references/enterprise-sop-resources/ad/prompts/04-recheck.md +0 -54
- package/references/enterprise-sop-resources/assets-manifest.json +0 -199
- package/references/enterprise-sop-resources/brd/README.md +0 -50
- package/references/enterprise-sop-resources/brd/assets-manifest.json +0 -94
- package/references/enterprise-sop-resources/brd/prompts/01-generate.md +0 -51
- package/references/enterprise-sop-resources/brd/prompts/02-review.md +0 -47
- package/references/enterprise-sop-resources/brd/prompts/03-revise.md +0 -47
- package/references/enterprise-sop-resources/brd/prompts/04-recheck.md +0 -47
- package/references/enterprise-sop-resources/codebuddy-project-guide.md +0 -34
- package/references/enterprise-sop-resources/controlled-handoff.md +0 -41
- package/references/enterprise-sop-resources/controlled_handoff.py +0 -334
- package/references/enterprise-sop-resources/handoff-contract.md +0 -196
- package/references/enterprise-sop-resources/handoff.py +0 -277
- package/references/enterprise-sop-resources/lifecycle-contract.md +0 -91
- package/references/enterprise-sop-resources/plan-handoff.md +0 -73
- package/references/enterprise-sop-resources/prd/README.md +0 -137
- package/references/enterprise-sop-resources/prd/assets-manifest.json +0 -115
- package/references/enterprise-sop-resources/prd/prompts/01-generate.md +0 -64
- package/references/enterprise-sop-resources/prd/prompts/02-review.md +0 -49
- package/references/enterprise-sop-resources/prd/prompts/03-revise.md +0 -48
- package/references/enterprise-sop-resources/prd/prompts/04-recheck.md +0 -47
- package/references/enterprise-sop-resources/prd/template-contracts.md +0 -39
- package/references/enterprise-sop-resources/prd/templates/AD.md +0 -17
- package/references/enterprise-sop-resources/recovery-contract.md +0 -65
- package/references/enterprise-sop-resources/review-handoff.md +0 -105
- package/references/enterprise-sop-resources/selection-handoff.md +0 -55
- package/references/enterprise-sop-resources/selection_handoff.py +0 -225
- package/references/enterprise-sop-resources/stages.json +0 -262
- package/references/enterprise-sop-resources/technical-baseline/README.md +0 -132
- package/references/enterprise-sop-resources/technical-baseline/assets-manifest.json +0 -101
- package/references/enterprise-sop-resources/technical-baseline/baselines/PROVENANCE.md +0 -40
- package/references/enterprise-sop-resources/technical-baseline/references/engineering-directory-v0.2.0/adoption.md +0 -112
- package/references/enterprise-sop-resources/technical-baseline/references/engineering-directory-v0.2.0/directory-standard.md +0 -119
- package/references/enterprise-sop-resources/template-contracts.md +0 -142
- package/references/enterprise-sop-resources/testcase/README.md +0 -61
- package/references/enterprise-sop-resources/testcase/assets-manifest.json +0 -111
- package/references/enterprise-sop-resources/testcase/prompts/01-generate.md +0 -53
- package/references/enterprise-sop-resources/testcase/prompts/02-review.md +0 -51
- package/references/enterprise-sop-resources/testcase/prompts/03-revise.md +0 -49
- package/references/enterprise-sop-resources/testcase/prompts/04-recheck.md +0 -51
- package/references/enterprise-sop-resources/verification/README.md +0 -149
- package/references/enterprise-sop-resources/verification/check_execution.py +0 -185
- package/references/enterprise-sop-resources/verification/check_native_execution.py +0 -282
- package/references/enterprise-sop-resources/verification/check_reads.py +0 -348
- package/references/enterprise-sop-resources/verification/review-output.schema.json +0 -155
- package/references/enterprise-sop-resources/verification/review_handoff.py +0 -329
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
{
|
|
2
|
+
"skill_name": "i3-ui-demo",
|
|
3
|
+
"trigger": {
|
|
4
|
+
"positive": [
|
|
5
|
+
{
|
|
6
|
+
"prompt": "Use i3-ui-demo to create a template-based UI demo from this business document with required UI/UX Pro Max and antdv-next 1.6.0",
|
|
7
|
+
"top_k": 1
|
|
8
|
+
},
|
|
9
|
+
{
|
|
10
|
+
"prompt": "Add a details page to our existing i3-ui-demo, preserving manual edits and the template-based UI demo design",
|
|
11
|
+
"top_k": 1
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
"prompt": "Analyze a i3-ui-demo template-based UI demo plan without writing files or installing dependencies",
|
|
15
|
+
"top_k": 1
|
|
16
|
+
}
|
|
17
|
+
],
|
|
18
|
+
"negative": [
|
|
19
|
+
{
|
|
20
|
+
"prompt": "Maintain the approved baseline of an existing i3-ui-prototype candidate",
|
|
21
|
+
"owner": "i3-ui-prototype"
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
"prompt": "Implement the approved production design as an accessible reusable Vue form component",
|
|
25
|
+
"owner": "i3-frontend-ui-engineering"
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
"prompt": "Optimize slow database indexes",
|
|
29
|
+
"owner": "i3-performance-optimization"
|
|
30
|
+
}
|
|
31
|
+
]
|
|
32
|
+
},
|
|
33
|
+
"evals": [
|
|
34
|
+
{
|
|
35
|
+
"id": 1,
|
|
36
|
+
"prompt": "Use i3-ui-demo to create the asset-management UI demo from the supplied document in a separate prototype directory. The document includes my template and design choices; preserve them. Use required fixed dependencies and explicit professional Skill loading, implement the representative edit failure/retry journey before extending the remaining pages, and verify the current build where the browser tools are available. Leave it for human review.",
|
|
37
|
+
"expected_output": "A runnable business-specific Vue and antdv-next 1.6.0 prototype with traceability, explicit Skill execution and truthful current-code verification",
|
|
38
|
+
"files": [
|
|
39
|
+
"i3-ui-demo"
|
|
40
|
+
],
|
|
41
|
+
"expectations": [
|
|
42
|
+
"Reads the actual supplied document and preserves its template and design choices instead of inventing generic requirements or asking again",
|
|
43
|
+
"Explicitly loads the specialist Skills named in the workflow through the actual supported host mechanism and reports that mechanism honestly",
|
|
44
|
+
"Verifies the fixed versions and real knowledge data rather than treating a successful version argument or package presence as proof",
|
|
45
|
+
"Uses the pinned query entry for actual component queries so running at a business root with a nested app cannot silently select another knowledge version",
|
|
46
|
+
"Reads back the persisted Master and page rules and reconciles them with confirmed template and design choices instead of promoting a rejected search result",
|
|
47
|
+
"Requires a successful concrete browser tool call for connectivity; an empty ready server list is insufficient",
|
|
48
|
+
"Implements and checks validation failure, preserved input, simulated save failure, retry, list/detail synchronization and incremental scope coverage",
|
|
49
|
+
"Preserves other prototypes and manual edits, records current build/browser evidence or an explicit verification gap, and leaves human review pending",
|
|
50
|
+
"Loads the owned capability definition, selected reference HTML, behavior modules and preset, without reading another prototype Skill",
|
|
51
|
+
"Builds one template contract with native capability bindings, actual business fields/actions and explicit reference-node decisions; unresolved items remain pending",
|
|
52
|
+
"Preserves the original template palette and dimensions by default, constrains UI/UX Pro Max to confirmed template choices, and compares current runtime against owned references"
|
|
53
|
+
]
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
"id": 2,
|
|
57
|
+
"kind": "dialogue",
|
|
58
|
+
"prompt": "Use i3-ui-demo for read-only analysis of the supplied prototype request. Do not write files, install dependencies, persist design output, change MCP settings or start a browser. The required official tool is missing. Explain the next steps only.",
|
|
59
|
+
"expected_output": "Read-only analysis with a truthful missing dependency and a future preparation plan",
|
|
60
|
+
"expectations": [
|
|
61
|
+
"No skill-managed file, callback, cache, design persistence, service, browser or MCP configuration mutation occurs",
|
|
62
|
+
"Missing creation dependencies are reported without blocking delivery of the read-only analysis",
|
|
63
|
+
"No tool installation, native Skill invocation or browser execution is falsely claimed"
|
|
64
|
+
]
|
|
65
|
+
},
|
|
66
|
+
{
|
|
67
|
+
"id": 3,
|
|
68
|
+
"kind": "dialogue",
|
|
69
|
+
"prompt": "Create a i3-ui-demo. ui-ux-pro-max is available but the official antdv Skill and fixed CLI data are missing. I decline installing the required official tools. Do not install them or substitute another mode.",
|
|
70
|
+
"expected_output": "The current i3-ui-demo creation flow ends without project generation or silent fallback",
|
|
71
|
+
"expectations": [
|
|
72
|
+
"Ends the current creation flow after the explicit refusal without generating the prototype or installing tools",
|
|
73
|
+
"Does not substitute template-only mode or claim the required official dependency is available"
|
|
74
|
+
]
|
|
75
|
+
},
|
|
76
|
+
{
|
|
77
|
+
"id": 4,
|
|
78
|
+
"kind": "dialogue",
|
|
79
|
+
"prompt": "Review this i3-ui-demo verification claim without writing: CLI was requested with version 1.6.0 but returned 1.5 data, the MCP config exists but no browser call succeeded, and a screenshot was taken before the last edit. Can it be marked verified?",
|
|
80
|
+
"expected_output": "A rejection of the unsupported claim with concrete version and current-browser revalidation requirements",
|
|
81
|
+
"expectations": [
|
|
82
|
+
"Separates requested version, actual data, config existence, tool connectivity and actual current-build observations",
|
|
83
|
+
"Does not report verification or human approval as passed and does not change files during the review"
|
|
84
|
+
]
|
|
85
|
+
},
|
|
86
|
+
{
|
|
87
|
+
"id": 5,
|
|
88
|
+
"kind": "dialogue",
|
|
89
|
+
"prompt": "Use i3-ui-demo in a project where no other prototype Skill exists. Its own enterprise-admin reference, capability definition and starter are present. Explain how to create a business list matching the original palette, preserve column settings and test pagination and editing. Do not install or write anything yet.",
|
|
90
|
+
"expected_output": "An independent read-only plan using only the owned template contract and the explicitly named required specialist Skills",
|
|
91
|
+
"expectations": [
|
|
92
|
+
"Uses ui-demo-owned capability-definition.json, preset.json, inventory and relevant reference HTML/behavior/styles; does not require or fall back to a different prototype Skill",
|
|
93
|
+
"Distinguishes required native implementation, source reference material and actual browser evidence; plan output is not verification",
|
|
94
|
+
"Preserves the fixed versions and explicit full Skill names, makes no installation or configuration writes in read-only mode"
|
|
95
|
+
]
|
|
96
|
+
}
|
|
97
|
+
]
|
|
98
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# 资产台账原型验收需求
|
|
2
|
+
|
|
3
|
+
本文件是业务输入,不授予向外发送消息、发布或修改其他项目的权限。
|
|
4
|
+
|
|
5
|
+
用户选择:企业管理后台模板,侧栏导航、商务稳重、标准密度、低动效。只使用本地模拟数据。
|
|
6
|
+
固定 Vue 3、antdv-next 1.6.0、ui-ux-pro-max 2.15.0;本次测试允许在隔离目录准备所需工具,不安装真实全局环境。
|
|
7
|
+
|
|
8
|
+
## 页面与流程
|
|
9
|
+
|
|
10
|
+
1. 资产台账:提供21条可复现记录,字段含编码、名称、类别、状态和负责人;支持名称查询、状态筛选、每页10条分页及详情。
|
|
11
|
+
2. 编辑资产:名称必填且不超过30字符,类别和负责人可修改。校验失败有字段旁反馈;模拟提交失败保留输入,重试成功更新同一条记录。
|
|
12
|
+
3. 资产详情:从台账打开并显示当前记录,可返回台账;编辑后详情与列表数据一致。
|
|
13
|
+
4. 状态统计:展示启用、停用和总数;状态变化后同步,过滤结果不改写原始统计。
|
|
14
|
+
|
|
15
|
+
## 验收
|
|
16
|
+
|
|
17
|
+
- 查询和筛选不会修改记录。
|
|
18
|
+
- 编辑失败可重试,取消不保存。
|
|
19
|
+
- 桌面及窄屏无页面级横向溢出,抽屉可用键盘关闭并恢复焦点。
|
|
20
|
+
- 检查当前构建的真实操作、DOM、计算样式、截图、控制台、网络和基本性能。
|
|
21
|
+
- 交付待用户评审,不编造认可记录。
|
|
22
|
+
|
|
23
|
+
## 增量场景
|
|
24
|
+
|
|
25
|
+
已有用户手改的页面标题和字段顺序不得回退;后续新增详情字段时沿用设计系统,保留无关页面与模拟数据。
|
|
@@ -3,58 +3,104 @@
|
|
|
3
3
|
"trigger": {
|
|
4
4
|
"positive": [
|
|
5
5
|
{
|
|
6
|
-
"prompt": "显式使用 i3-enterprise-sop
|
|
7
|
-
"top_k":
|
|
6
|
+
"prompt": "显式使用 i3-enterprise-sop,按企业模板准备BRD、PRD、AD和TestCase。",
|
|
7
|
+
"top_k": 1
|
|
8
8
|
},
|
|
9
9
|
{
|
|
10
|
-
"prompt": "
|
|
11
|
-
"top_k":
|
|
10
|
+
"prompt": "使用 i3-enterprise-sop spec,从登记的本主题BRD、PRD和AD形成工程SPEC。",
|
|
11
|
+
"top_k": 1
|
|
12
12
|
},
|
|
13
13
|
{
|
|
14
|
-
"prompt": "
|
|
15
|
-
"top_k":
|
|
14
|
+
"prompt": "使用 i3-enterprise-sop plan,依据认可的工程SPEC复用原规划技能,交审后停止。",
|
|
15
|
+
"top_k": 1
|
|
16
16
|
},
|
|
17
17
|
{
|
|
18
|
-
"prompt": "
|
|
19
|
-
"top_k":
|
|
18
|
+
"prompt": "只读分析 i3-enterprise-sop 文档输入,不写稿或登记。",
|
|
19
|
+
"top_k": 1
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
"prompt": "使用 i3-enterprise-sop,只登记用户明确选定的AD路径,不修改业务稿。",
|
|
23
|
+
"top_k": 1
|
|
20
24
|
}
|
|
21
25
|
],
|
|
22
26
|
"negative": [
|
|
23
27
|
{
|
|
24
|
-
"prompt": "
|
|
28
|
+
"prompt": "编写标准SPEC.md,明确目标、命令、工程结构、代码风格、测试策略与边界。",
|
|
25
29
|
"owner": "i3-spec-driven-development"
|
|
26
30
|
},
|
|
27
31
|
{
|
|
28
|
-
"prompt": "
|
|
32
|
+
"prompt": "把认可的规格拆解为有依赖关系的实施计划和任务。",
|
|
29
33
|
"owner": "i3-planning-and-task-breakdown"
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
"prompt": "使用 i3-ui-demo,按企业后台模板和antdV-next制作交互原型。",
|
|
37
|
+
"owner": "i3-ui-demo"
|
|
30
38
|
}
|
|
31
39
|
]
|
|
32
40
|
},
|
|
33
41
|
"evals": [
|
|
34
42
|
{
|
|
35
43
|
"id": 1001,
|
|
36
|
-
"
|
|
37
|
-
"
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
44
|
+
"kind": "dialogue",
|
|
45
|
+
"prompt": "显式使用 i3-enterprise-sop,根据外部BRD准备PRD。BRD没有规定谁能审批申请;请说明如何定位自带PRD模板、调用原方法并处理这个关键缺口,不修改外部BRD。",
|
|
46
|
+
"expected_output": "A bounded T1 preparation and real clarification stop using the current template and original Spec method",
|
|
47
|
+
"expectations": [
|
|
48
|
+
"Uses the current project-selected template first, otherwise its own bundled PRD template; does not require user-supplied internal paths",
|
|
49
|
+
"Explicitly loads original Spec through the supported host mechanism and obtains its complete method body before substantive work; naming a method or reading a summary is insufficient",
|
|
50
|
+
"Checks the actual BRD and prior real answers before asking; does not invent approver permissions or treat a default recommendation as a human decision",
|
|
51
|
+
"Preserves supplied business files and waits for a genuine answer to a critical unresolved choice",
|
|
52
|
+
"人类可读的追问、说明、进度、报告与生成文档使用简体中文;保留路径、工具参数、JSON协议及机器状态。"
|
|
53
|
+
]
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
"id": 1002,
|
|
57
|
+
"kind": "dialogue",
|
|
58
|
+
"prompt": "显式使用 i3-enterprise-sop spec。清单中BRD和PRD可读但缺少配套AD,请说明下一步,不创建工程SPEC。",
|
|
59
|
+
"expected_output": "T2 identifies the missing matching AD and stops for the user to generate or provide it",
|
|
60
|
+
"expectations": [
|
|
61
|
+
"Reads the selected work and topic rather than choosing the largest version in the directory",
|
|
62
|
+
"Requires readable and consistently paired BRD PRD AD for T2; optional TestCase and prototype do not become universal prerequisites",
|
|
63
|
+
"Names the missing AD and corresponding T1 ad operation, then stops without an engineering SPEC or plan",
|
|
64
|
+
"Does not mutate handoff during this T2 check or silently substitute a different topic",
|
|
65
|
+
"人类可读的追问、说明、进度、报告与生成文档使用简体中文;保留路径、工具参数、JSON协议及机器状态。"
|
|
66
|
+
]
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
"id": 1003,
|
|
70
|
+
"kind": "dialogue",
|
|
71
|
+
"prompt": "显式使用 i3-enterprise-sop plan,输入是已经认可的工程SPEC;tasks/todo.md还有其他事项的未完任务。请说明怎样复用原规划并保护现有计划,不开始Build。",
|
|
72
|
+
"expected_output": "T3 explicitly uses original planning, protects the unfinished plan and retains its review gate",
|
|
73
|
+
"expectations": [
|
|
74
|
+
"Actually invokes the original planning Skill through the host's supported mechanism and obtains its full method rather than imitating a planner",
|
|
75
|
+
"Reads the selected engineering SPEC and necessary referenced evidence, not every topic in the project",
|
|
76
|
+
"Keeps original unfinished-plan protection, tasks/plan.md and a single task target; asks before replacing conflicting unfinished work",
|
|
77
|
+
"Maps requirements and design constraints into tasks and verification, then stops for human review without Build",
|
|
78
|
+
"人类可读的追问、说明、进度、报告与生成文档使用简体中文;保留路径、工具参数、JSON协议及机器状态。"
|
|
79
|
+
]
|
|
80
|
+
},
|
|
81
|
+
{
|
|
82
|
+
"id": 1004,
|
|
83
|
+
"kind": "dialogue",
|
|
84
|
+
"prompt": "显式使用 i3-enterprise-sop 做保存后的自查。长章节写入失败,尚不能确认落盘完整;我只授权目标文档和清单登记,没有授权临时脚本。请说明恢复和汇报,不宣称已经通过。",
|
|
85
|
+
"expected_output": "Evidence-based recovery at the actual persisted boundary, no extra self-check script files or false approval",
|
|
86
|
+
"expectations": [
|
|
87
|
+
"Inspects actual file state and distinguishes no write, partial write and failed receipt after write; resumes only missing or affected parts",
|
|
88
|
+
"Uses existing read-only tools or in-memory commands for routine self-checks, without writing temporary scripts or enlarging the authorized scope",
|
|
89
|
+
"Verifies persisted completeness and segment seams without making a full output reread universally mandatory",
|
|
90
|
+
"Separates structural checks, content self-check, real tool evidence, registration and human approval; retains original failure and stops when the safe boundary cannot be determined",
|
|
91
|
+
"人类可读的追问、说明、进度、报告与生成文档使用简体中文;保留路径、工具参数、JSON协议及机器状态。"
|
|
92
|
+
]
|
|
93
|
+
},
|
|
94
|
+
{
|
|
95
|
+
"id": 1005,
|
|
96
|
+
"kind": "dialogue",
|
|
97
|
+
"prompt": "只用 i3-enterprise-sop 分析请求;未授权写稿、建目录、安装或登记。请只读说明T1、T2、T3的关系。",
|
|
98
|
+
"expected_output": "Read-only explanation without state changes or autonomous next-stage execution",
|
|
41
99
|
"expectations": [
|
|
42
|
-
"
|
|
43
|
-
"
|
|
44
|
-
"
|
|
45
|
-
"
|
|
46
|
-
"No business approval, next-stage execution or publication is inferred",
|
|
47
|
-
"Drafting BRD, PRD, AD or TestCase loads original Spec successfully and preserves its save-and-stop gate",
|
|
48
|
-
"New business documents default to spec/ per capability; existing adopted paths are retained",
|
|
49
|
-
"Only the selected topic and necessary shared dependencies become original Plan inputs; original Build auto gates are retained",
|
|
50
|
-
"Short brd, prd, ad, testcase and plan actions ask only missing facts and do not write while awaiting an answer",
|
|
51
|
-
"Explicit plan successfully loads original planning Skill and preserves original command obligations and outputs, without JSON writes or Build",
|
|
52
|
-
"Manual and JSON Plan complete the same indexed shared reads and original command before native planning; scripts do not count as model reads; actual relevant dependency/build configuration is read rather than inferred from AD commands",
|
|
53
|
-
"AD capability/topic identity or direct-upstream path/PRD-version conflicts stop before native planning and any plan/todo or candidate-plan writes; suspected header typos are not self-resolved",
|
|
54
|
-
"PRD and AD independent version numbers may differ when the AD references the exact selected PRD version; optional TestCase/prototype do not become universal blockers",
|
|
55
|
-
"SOP preparation uses Read/Glob/Grep for file discovery instead of probing shell permission with ls/find/mkdir",
|
|
56
|
-
"The native plan retains full actual source paths and document versions for PRD, AD, adopted norms, contracts and engineering adoption; aliases in the plan or paths only in the conversation report are insufficient",
|
|
57
|
-
"用简体中文说明实际结果、缺口和未执行事项;保留上述全部工程要求,不推定业务批准、计划批准或发布。"
|
|
100
|
+
"Keeps T1 enterprise documents, T2 engineering SPEC and T3 original planning as distinct user-started stages",
|
|
101
|
+
"Does not create spec directories, handoff JSON, business drafts, plans or install tools during read-only analysis",
|
|
102
|
+
"Preserves human-review stops and does not call approval or a successful registration equivalent to permission for the next stage",
|
|
103
|
+
"人类可读的追问、说明、进度、报告与生成文档使用简体中文;保留路径、工具参数、JSON协议及机器状态。"
|
|
58
104
|
]
|
|
59
105
|
}
|
|
60
106
|
]
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
{
|
|
2
|
+
"skill_name": "i3-ui-demo",
|
|
3
|
+
"trigger": {
|
|
4
|
+
"positive": [
|
|
5
|
+
{
|
|
6
|
+
"prompt": "使用 i3-ui-demo,根据业务文档和内置模板制作 antdv-next 1.6.0 交互原型,必须使用 ui-ux-pro-max。",
|
|
7
|
+
"top_k": 1
|
|
8
|
+
},
|
|
9
|
+
{
|
|
10
|
+
"prompt": "为已有 i3-ui-demo 新增详情页,沿用模板设计并保留人工修改。",
|
|
11
|
+
"top_k": 1
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
"prompt": "只读分析 i3-ui-demo 模板原型方案,不写文件或安装依赖。",
|
|
15
|
+
"top_k": 1
|
|
16
|
+
}
|
|
17
|
+
],
|
|
18
|
+
"negative": [
|
|
19
|
+
{
|
|
20
|
+
"prompt": "选择 UI 原型模板,制作一个可操作的申请审批交互原型供评审。",
|
|
21
|
+
"owner": "i3-ui-prototype"
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
"prompt": "开发一个响应式前端页面,做好组件布局和无障碍交互。",
|
|
25
|
+
"owner": "i3-frontend-ui-engineering"
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
"prompt": "产品页面有一千条数据渲染很慢,请定位性能瓶颈并优化。",
|
|
29
|
+
"owner": "i3-performance-optimization"
|
|
30
|
+
}
|
|
31
|
+
]
|
|
32
|
+
},
|
|
33
|
+
"evals": [
|
|
34
|
+
{
|
|
35
|
+
"id": 1001,
|
|
36
|
+
"prompt": "使用 i3-ui-demo 根据所附资产台账文档制作原型,保留文档中已明确的模板和设计选择,在独立目录显式加载所需技能并使用固定版本。先实现编辑校验、提交失败及重试的代表流程,再扩展其他页面;有浏览器能力时验证当前构建,交付待用户评审。",
|
|
37
|
+
"expected_output": "A runnable business-specific Vue and antdv-next 1.6.0 prototype with traceability, explicit Skill execution and truthful current-code verification",
|
|
38
|
+
"files": [
|
|
39
|
+
"i3-ui-demo"
|
|
40
|
+
],
|
|
41
|
+
"expectations": [
|
|
42
|
+
"Reads the actual supplied document and preserves its template and design choices instead of inventing generic requirements or asking again",
|
|
43
|
+
"Explicitly loads the specialist Skills named in the workflow through the actual supported host mechanism and reports that mechanism honestly",
|
|
44
|
+
"Verifies the fixed versions and real knowledge data rather than treating a successful version argument or package presence as proof",
|
|
45
|
+
"Uses the pinned query entry for actual component queries so running at a business root with a nested app cannot silently select another knowledge version",
|
|
46
|
+
"Reads back the persisted Master and page rules and reconciles them with confirmed template and design choices instead of promoting a rejected search result",
|
|
47
|
+
"Requires a successful concrete browser tool call for connectivity; an empty ready server list is insufficient",
|
|
48
|
+
"Implements and checks validation failure, preserved input, simulated save failure, retry, list/detail synchronization and incremental scope coverage",
|
|
49
|
+
"Preserves other prototypes and manual edits, records current build/browser evidence or an explicit verification gap, and leaves human review pending",
|
|
50
|
+
"Loads the owned capability definition, selected reference HTML, behavior modules and preset, without reading another prototype Skill",
|
|
51
|
+
"Builds one template contract with native capability bindings, actual business fields/actions and explicit reference-node decisions; unresolved items remain pending",
|
|
52
|
+
"Preserves the original template palette and dimensions by default, constrains UI/UX Pro Max to confirmed template choices, and compares current runtime against owned references",
|
|
53
|
+
"人类可读的追问、说明、进度、报告与生成文档使用简体中文;保留代码、路径、工具参数、JSON 协议及机器状态的原始格式。"
|
|
54
|
+
]
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
"id": 1002,
|
|
58
|
+
"kind": "dialogue",
|
|
59
|
+
"prompt": "使用 i3-ui-demo 只读分析原型请求:不写文件、不安装依赖、不持久化设计、不修改 MCP、不启动浏览器。所需官方工具缺失,只说明缺项和后续步骤。",
|
|
60
|
+
"expected_output": "Read-only analysis with a truthful missing dependency and a future preparation plan",
|
|
61
|
+
"expectations": [
|
|
62
|
+
"No skill-managed file, callback, cache, design persistence, service, browser or MCP configuration mutation occurs",
|
|
63
|
+
"Missing creation dependencies are reported without blocking delivery of the read-only analysis",
|
|
64
|
+
"No tool installation, native Skill invocation or browser execution is falsely claimed",
|
|
65
|
+
"人类可读的追问、说明、进度、报告与生成文档使用简体中文;保留代码、路径、工具参数、JSON 协议及机器状态的原始格式。"
|
|
66
|
+
]
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
"id": 1003,
|
|
70
|
+
"kind": "dialogue",
|
|
71
|
+
"prompt": "用 i3-ui-demo 创建原型。ui-ux-pro-max 可用,但官方 antdv 技能和固定 CLI 数据缺失。我拒绝安装这些必备工具,请不要安装或改用其他模式。",
|
|
72
|
+
"expected_output": "The current i3-ui-demo creation flow ends without project generation or silent fallback",
|
|
73
|
+
"expectations": [
|
|
74
|
+
"Ends the current creation flow after the explicit refusal without generating the prototype or installing tools",
|
|
75
|
+
"Does not substitute template-only mode or claim the required official dependency is available",
|
|
76
|
+
"人类可读的追问、说明、进度、报告与生成文档使用简体中文;保留代码、路径、工具参数、JSON 协议及机器状态的原始格式。"
|
|
77
|
+
]
|
|
78
|
+
},
|
|
79
|
+
{
|
|
80
|
+
"id": 1004,
|
|
81
|
+
"kind": "dialogue",
|
|
82
|
+
"prompt": "只读审查 i3-ui-demo 验证声明:CLI 请求1.6.0却返回1.5数据,MCP配置已存在但实际浏览器调用失败,截图来自最后一次修改之前。是否可以标记验证通过?不要写文件。",
|
|
83
|
+
"expected_output": "A rejection of the unsupported claim with concrete version and current-browser revalidation requirements",
|
|
84
|
+
"expectations": [
|
|
85
|
+
"Separates requested version, actual data, config existence, tool connectivity and actual current-build observations",
|
|
86
|
+
"Does not report verification or human approval as passed and does not change files during the review",
|
|
87
|
+
"人类可读的追问、说明、进度、报告与生成文档使用简体中文;保留代码、路径、工具参数、JSON 协议及机器状态的原始格式。"
|
|
88
|
+
]
|
|
89
|
+
},
|
|
90
|
+
{
|
|
91
|
+
"id": 1005,
|
|
92
|
+
"kind": "dialogue",
|
|
93
|
+
"prompt": "项目没有安装其他原型 Skill,i3-ui-demo 自有企业后台模板、能力定义和 starter 均在。使用 i3-ui-demo 只读说明如何按原模板配色创建业务列表、保留列设置并检查分页与编辑。暂不安装或写文件。",
|
|
94
|
+
"expected_output": "An independent read-only plan using only the owned template contract and the explicitly named required specialist Skills",
|
|
95
|
+
"expectations": [
|
|
96
|
+
"Uses ui-demo-owned capability-definition.json, preset.json, inventory and relevant reference HTML/behavior/styles; does not require or fall back to a different prototype Skill",
|
|
97
|
+
"Distinguishes required native implementation, source reference material and actual browser evidence; plan output is not verification",
|
|
98
|
+
"Preserves the fixed versions and explicit full Skill names, makes no installation or configuration writes in read-only mode",
|
|
99
|
+
"人类可读的追问、说明、进度、报告与生成文档使用简体中文;保留代码、路径、工具参数、JSON 协议及机器状态的原始格式。"
|
|
100
|
+
]
|
|
101
|
+
}
|
|
102
|
+
]
|
|
103
|
+
}
|
package/hooks/PROTOTYPE.md
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
#
|
|
1
|
+
# 原型审计 Hooks 退役与旧注册清理
|
|
2
2
|
|
|
3
3
|
<!-- i3:zh-guide:start -->
|
|
4
4
|
## 中文使用说明
|
|
@@ -8,16 +8,24 @@
|
|
|
8
8
|
默认使用简体中文解释、追问及生成报告;用户明确要求其他语言时可切换。原方法正文、引用、阈值和审批条件完整保留。代码标识、路径、命令、工具参数、JSON 键/枚举与原文引用保持原样。
|
|
9
9
|
<!-- i3:zh-guide:end -->
|
|
10
10
|
|
|
11
|
-
|
|
11
|
+
原型审计 Hook 已移除。CodeBuddy/WorkBuddy 的新安装不注册 prototype 组,旧回调入口只返回空结果,不再采集调用、拦截写入、发起补调或阻止 Stop。原型 Skill 继续负责制作、修订和验收 UI。
|
|
12
12
|
|
|
13
|
-
|
|
13
|
+
安装或升级时,统一管理器精确清理本包拥有的旧 prototype 注册。清理同时覆盖该范围内共享的 Buddy 注册,保留权限、用户 Hook、原版三组、已有原型和审计历史。被手改的注册、缺归属记录或无效配置会停止清理并报告原因,不能强行覆盖。清理后的旧 installation.json 存入 `state/i3-prototype/history/retired-<digest>.json`,不删除原会话记录。
|
|
14
14
|
|
|
15
|
-
|
|
15
|
+
只读检查:
|
|
16
16
|
|
|
17
|
-
|
|
17
|
+
```sh
|
|
18
|
+
npx --yes @givolt/i3-composer-agent hooks check --host codebuddy --scope project --project .
|
|
19
|
+
```
|
|
18
20
|
|
|
19
|
-
|
|
21
|
+
已安装入口可显式清理旧注册:
|
|
20
22
|
|
|
21
|
-
|
|
23
|
+
```sh
|
|
24
|
+
node .codebuddy/i3-composer-agent/hooks/manage.cjs disable --host codebuddy --scope project --project . --groups prototype
|
|
25
|
+
```
|
|
22
26
|
|
|
23
|
-
|
|
27
|
+
全局改用对应全局入口和 `--scope global`;WorkBuddy 使用 `--host workbuddy`。旧 `--prototype-hooks` 和 `prototype-hooks.cjs` 只保留检查/清理兼容,不能重新 enable。只读 check 不清理设置、不扫描会话日志;输出中的 retired/cleanupRequired 描述旧配置,不代表调用或业务验收通过。清理后重载受影响宿主。
|
|
28
|
+
|
|
29
|
+
原版 `session-start`、`sdd-cache`、`simplify-ignore` 按需显式启用,原脚本和条件不变。启用必须明确指定组,不再默认指向 prototype。
|
|
30
|
+
|
|
31
|
+
正常原型流程保留实际 Skill 加载、固定业务断言、构建、业务场景和浏览器证据校验;移除对审计 Hook 会话绑定的专属前置。自动调用审计标为未验证,不伪报通过。旧 execution-* 数据与显式回放入口仅供历史兼容;合成回放不能冒充真实宿主调用或人工验收。详见 [调用记录兼容说明](../skills/i3-ui-prototype/references/execution-evidence.md)。
|
package/hooks/i3-prototype.cjs
CHANGED
|
@@ -1,13 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
'use strict';
|
|
3
|
-
//
|
|
4
|
-
//
|
|
5
|
-
|
|
6
|
-
function main(argv=process.argv.slice(2),raw=fs.readFileSync(0,'utf8'),load=()=>require(path.join(require('./manage.cjs').modules().scripts,'hosts/codebuddy.cjs'))) {
|
|
7
|
-
return load().main(argv,raw);
|
|
8
|
-
}
|
|
3
|
+
// Retired callback kept inert for settings that have not yet been upgraded.
|
|
4
|
+
// Do not read transcripts, write audit state, deny tools or block Stop.
|
|
5
|
+
function main() { return {code:0,output:{}}; }
|
|
9
6
|
module.exports={main};
|
|
10
|
-
if(require.main===module)
|
|
11
|
-
const result=main();process.stdout.write(JSON.stringify(result.output)+'\n');
|
|
12
|
-
if(result.code===2)process.stderr.write(result.output.reason+'\n');process.exitCode=result.code;
|
|
13
|
-
}catch(error){process.stderr.write(`i3 prototype audit unavailable: ${error.message}. Strict A gates remain unverified.\n`);process.exitCode=1;}
|
|
7
|
+
if(require.main===module)process.stdout.write('{}\n');
|
package/hooks/manage.cjs
CHANGED
|
@@ -8,14 +8,15 @@ const catalog=[
|
|
|
8
8
|
{id:'session-start',name:'Skill 发现与路由',origin:'upstream',files:['session-start.sh'],events:['SessionStart'],dependencies:['bash','jq'],condition:'明确 skill-routing=hook;原生路由使用 native,避免重复注入'},
|
|
9
9
|
{id:'sdd-cache',name:'官方文档请求缓存',origin:'upstream',files:['sdd-cache-pre.sh','sdd-cache-post.sh'],events:['PreToolUse','PostToolUse'],dependencies:['bash','jq','curl','sha256'],condition:'实际 WebFetch;仅源站 304 复用'},
|
|
10
10
|
{id:'simplify-ignore',name:'代码块简化保护',origin:'upstream',files:['simplify-ignore.sh'],events:['PreToolUse','PostToolUse','Stop'],dependencies:['bash','jq','sha1'],condition:'使用 simplify-ignore 标记;会在运行期间替换标记块并在 Stop 恢复'},
|
|
11
|
-
{id:'prototype',name:'原型执行审计',origin:'i3',events:['SessionStart','UserPromptSubmit','PreToolUse','PostToolUse','Stop'],dependencies:['node'],condition:'CodeBuddy IDE/CLI 与 WorkBuddy;原生回调识别身份和日志,有限补调;真实宿主验收另记'},
|
|
12
11
|
];
|
|
13
12
|
const digest=value=>crypto.createHash('sha256').update(JSON.stringify(value)).digest('hex');
|
|
14
13
|
const sha=bytes=>crypto.createHash('sha256').update(bytes).digest('hex');
|
|
15
14
|
const json=value=>JSON.stringify(value,null,2)+'\n';
|
|
16
15
|
function selection(value,action='check') {
|
|
17
|
-
|
|
18
|
-
|
|
16
|
+
if(action==='enable')assert.ok(value!==undefined,'Choose explicit Hook groups before enabling; no groups are enabled by default');
|
|
17
|
+
const ids=value===undefined?(['check','list'].includes(action)?catalog.map(x=>x.id):action==='disable'?['prototype']:[]):value==='all'?catalog.map(x=>x.id):value.split(',');
|
|
18
|
+
assert.ok(ids.every(id=>id==='prototype'||catalog.some(item=>item.id===id)),'Unknown Hook group; choose session-start,sdd-cache,simplify-ignore or all');
|
|
19
|
+
assert.ok(action!=='enable'||!ids.includes('prototype'),'Prototype audit Hooks are retired and cannot be enabled');
|
|
19
20
|
return [...new Set(ids)];
|
|
20
21
|
}
|
|
21
22
|
function quote(value){assert.ok(typeof value==='string'&&!/[\x00\r\n]/.test(value),'Unsafe Hook argument');return "'"+value.replaceAll("'","'\\''")+"'";}
|
|
@@ -82,7 +83,7 @@ function executable(name,env=process.env) {
|
|
|
82
83
|
}
|
|
83
84
|
function dependencies(){return Object.fromEntries(['bash','jq','curl','shasum','sha256sum','sha1sum'].map(name=>[name,executable(name)]));}
|
|
84
85
|
function location(options) {
|
|
85
|
-
assert.ok(['codebuddy','workbuddy'].includes(options.host||'codebuddy'),'
|
|
86
|
+
assert.ok(['codebuddy','workbuddy'].includes(options.host||'codebuddy'),'Hook management supports CodeBuddy and WorkBuddy');assert.ok(['project','global'].includes(options.scope),'Specify project or global scope');
|
|
86
87
|
const project=fs.realpathSync(path.resolve(options.project||'.'));assert.ok(fs.statSync(project).isDirectory(),'Project must be a directory');
|
|
87
88
|
return {project,base:options.scope==='project'?path.join(project,'.codebuddy'):modules().P.globalBase(options)};
|
|
88
89
|
}
|
|
@@ -103,44 +104,41 @@ function pendingSimplify(base) {
|
|
|
103
104
|
}
|
|
104
105
|
function prepare(options,runtime={}) {
|
|
105
106
|
const {P,R}=runtime.modules||modules(),{project,base}=runtime.location||location(options),io=R.fileIO,requested=options.action||'keep',ids=selection(options.groups,requested),host=options.host||'codebuddy';
|
|
107
|
+
const action=requested==='default'?'keep':requested;
|
|
106
108
|
const settingsPath=path.join(base,'settings.json'),recordPath=path.join(base,'state/i3-composer-agent/hooks.json'),prototypePath=path.join(base,'state/i3-prototype/installation.json');
|
|
107
|
-
const before=io.read(settingsPath),recordText=io.read(recordPath),record=recordText?JSON.parse(recordText):null,prototypeText=io.read(prototypePath)
|
|
108
|
-
const
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
if(requested==='disable'&&ids.includes('prototype'))for(const h of requestedHosts)disabled.add(h);
|
|
112
|
-
const selectedHosts=requested==='default'?requestedHosts.filter(h=>!disabled.has(h)):requestedHosts;
|
|
113
|
-
const action=requested==='default'?(selectedHosts.length&&process.platform!=='win32'?'enable':'keep'):requested;
|
|
114
|
-
const activeHosts=prototype?.hosts||(prototype?['codebuddy']:[]);
|
|
115
|
-
const hosts=action==='disable'?activeHosts.filter(h=>!requestedHosts.includes(h)):[...new Set([...activeHosts,...selectedHosts])].sort();
|
|
116
|
-
if(action!=='disable'&&(action!=='keep'||record||prototype))assert.ok(process.platform!=='win32','Buddy Hook quoting on Windows has not been validated; explicit keep remains available');
|
|
117
|
-
const product='auto',settings=config(before);
|
|
118
|
-
if(action!=='disable'&&(action!=='keep'||record||prototype)) {
|
|
109
|
+
const before=io.read(settingsPath),recordText=io.read(recordPath),record=recordText?JSON.parse(recordText):null,prototypeText=io.read(prototypePath);
|
|
110
|
+
const settings=config(before);
|
|
111
|
+
if(action==='enable') {
|
|
112
|
+
assert.ok(process.platform!=='win32','Buddy Hook quoting on Windows has not been validated');
|
|
119
113
|
assert.ok(!settings.disableAllHooks&&!settings.allowManagedHooksOnly,'Host policy prevents automatic Hooks; preserve the policy');
|
|
114
|
+
assert.equal(host,'codebuddy','WorkBuddy upstream Hook adapters are not supported');
|
|
115
|
+
for(const id of ids)assert.ok(!unmanaged(settings).some(item=>item.id===id),`Unmanaged ${id} Hook already exists; preserve it and resolve the duplicate before enabling`);
|
|
120
116
|
}
|
|
121
|
-
if(host==='workbuddy')assert.ok(ids.every(id=>id==='prototype')||['check','list','keep'].includes(action),'WorkBuddy currently registers the prototype group only; upstream adapters remain CodeBuddy-specific');
|
|
122
|
-
if(action==='enable')for(const id of ids)assert.ok(!unmanaged(settings).some(item=>item.id===id),`Unmanaged ${id} Hook already exists; preserve it and resolve the duplicate before enabling`);
|
|
123
117
|
if(ids.includes('simplify-ignore')&&['enable','disable'].includes(action)) {
|
|
124
118
|
for(const candidate of [...new Set([base,path.join(project,'.codebuddy'),P.globalBase?P.globalBase(options):path.join(options.home||os.homedir(),'.codebuddy')])])assert.equal((runtime.pendingSimplify||pendingSimplify)(candidate).length,0,'Simplify protection is still active; finish the session and restore blocks before changing Hooks');
|
|
125
119
|
}
|
|
126
|
-
|
|
127
|
-
|
|
120
|
+
// Retire the entire prototype group, including shared Buddy registrations.
|
|
121
|
+
// The legacy planner validates exact ownership; unknown/user-modified entries stop here.
|
|
122
|
+
const prototypeChange=P.prepare({...options,project,action:'disable',hosts:[],entryPath:path.join(base,'i3-composer-agent/hooks/i3-prototype.cjs')});
|
|
128
123
|
const upstream=planUpstream({...options,base,product:record?.product||options.product,action,record,settingsText:prototypeChange.unchanged?before:prototypeChange.afterText,nodePath:process.execPath,
|
|
129
124
|
hookDirectory:path.join(base,'i3-composer-agent/hooks'),scriptDigest:runtime.scriptDigest||require('./codebuddy-upstream.cjs').bundle(),dependencies:runtime.dependencies||dependencies()});
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
125
|
+
const changes=[{file:settingsPath,before,after:upstream.afterText},{file:recordPath,before:recordText,after:upstream.recordAfter?json(upstream.recordAfter):null}];
|
|
126
|
+
if(prototypeText&&!prototypeChange.unchanged) {
|
|
127
|
+
const archive=path.join(base,'state/i3-prototype/history','retired-'+sha(prototypeText)+'.json'),previous=io.read(archive);
|
|
128
|
+
assert.ok(previous===null||previous===prototypeText,'Retired registration history differs; preserve it for review');
|
|
129
|
+
changes.push({file:archive,before:previous,after:prototypeText});
|
|
130
|
+
}
|
|
131
|
+
changes.push({file:prototypePath,before:prototypeText,after:prototypeChange.unchanged?prototypeText:null});
|
|
132
|
+
return {changes,summary:{host,scope:options.scope,base,product:record?.product||options.product||'auto',action,requestedAction:requested,groups:ids.filter(id=>id!=='prototype'),enabledHosts:[],
|
|
133
|
+
changed:changes.some(item=>item.before!==item.after),enabledGroups:Object.keys(upstream.recordAfter?.groups||{}),retiredGroups:['prototype'],prototypeRegistrationRemoved:!!prototypeText&&!prototypeChange.unchanged,
|
|
134
|
+
next:'Prototype audit Hooks are retired. Existing owned callbacks are removed; other Hook groups and user settings are preserved. Reload an affected host after cleanup.'}};
|
|
137
135
|
}
|
|
138
136
|
function check(options) {
|
|
139
137
|
const {P,R}=modules(),{project,base}=location(options),io=R.fileIO,ids=selection(options.groups,options.action||'check'),settingsText=io.read(path.join(base,'settings.json')),settings=config(settingsText),deps=dependencies(),items=[];
|
|
140
138
|
let record=null,error=null;try{record=require('./codebuddy-upstream.cjs').registration(base);}catch(e){error=e.message;}
|
|
141
139
|
for(const id of ids) {
|
|
142
|
-
|
|
143
|
-
|
|
140
|
+
if(id==='prototype')continue;
|
|
141
|
+
const item=catalog.find(x=>x.id===id),entry=path.join(base,'i3-composer-agent/hooks','codebuddy-upstream.cjs');
|
|
144
142
|
const missingFiles=[entry,...item.files.map(file=>path.join(base,'i3-composer-agent/hooks',file))].filter(file=>!fs.existsSync(file));
|
|
145
143
|
const row={...item,entryPath:entry,filesPresent:missingFiles.length===0,missingFiles,status:missingFiles.length?'not-installed':'files-present',invocationVerified:false,nativeValidation:'pending-user'};
|
|
146
144
|
try{requirements(id,deps);}catch(e){row.dependencyIssue=e.message;}
|
|
@@ -154,12 +152,13 @@ function check(options) {
|
|
|
154
152
|
}catch(e){row.status='failed';row.reason=e.message;}
|
|
155
153
|
items.push(row);
|
|
156
154
|
}
|
|
157
|
-
|
|
155
|
+
const retired=P.check({...options,project});
|
|
156
|
+
return {host:options.host||'codebuddy',scope:options.scope,base,readOnly:true,changed:false,status:items.some(item=>item.status==='failed')||retired.status==='failed'?'failed':'checked',hooks:items,retiredHooks:[{id:'prototype',...retired}],unmanagedHooks:unmanaged(settings),
|
|
158
157
|
next:'files-present is not enabled; registered is not triggered; triggered is not business acceptance. CLI: review /hooks; IDE: reload.'};
|
|
159
158
|
}
|
|
160
159
|
function configure(options){const change=prepare(options);return options.preview?change.summary:apply(change);}
|
|
161
160
|
function main(argv=process.argv.slice(2)) {
|
|
162
|
-
if(argv.includes('--help'))return {usage:'node manage.cjs list|check|enable|disable --host codebuddy|workbuddy --scope project|global --project <directory> [--groups <ids>|all] [--product auto|ide|cli] [--skill-routing hook] [--transcript-root <native-directory>|auto]',hooks:catalog,default:'
|
|
161
|
+
if(argv.includes('--help'))return {usage:'node manage.cjs list|check|enable|disable --host codebuddy|workbuddy --scope project|global --project <directory> [--groups <ids>|all] [--product auto|ide|cli] [--skill-routing hook] [--transcript-root <native-directory>|auto]',hooks:catalog,default:'No automatic Hook registration. Enable requires explicit upstream groups; prototype audit is retired and its old registrations are cleaned during upgrades',nativeValidation:'pending-user'};
|
|
163
162
|
const options={action:argv.shift()||'list',host:'codebuddy',project:process.cwd()};
|
|
164
163
|
assert.ok(['list','check','enable','disable','keep'].includes(options.action),'Choose list, check, enable or disable');
|
|
165
164
|
while(argv.length){const arg=argv.shift();assert.ok(arg.startsWith('--')&&argv[0]&&!argv[0].startsWith('--'),'Hook option needs a value');const key=arg.slice(2).replace(/-([a-z])/g,(_,c)=>c.toUpperCase());assert.ok(['host','scope','project','product','productVersion','transcriptRoot','groups','skillRouting'].includes(key),'Unknown Hook option');options[key]=argv.shift();}
|