@walwal-harness/cli 6.1.6 → 7.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/HR-Resource/academic-academic-anthropologist/SKILL.md +142 -0
- package/HR-Resource/academic-academic-geographer/SKILL.md +144 -0
- package/HR-Resource/academic-academic-historian/SKILL.md +140 -0
- package/HR-Resource/academic-academic-narratologist/SKILL.md +135 -0
- package/HR-Resource/academic-academic-psychologist/SKILL.md +135 -0
- package/HR-Resource/brick-office/SKILL.md +20 -0
- package/HR-Resource/cdo/SKILL.md +33 -0
- package/HR-Resource/ceo/SKILL.md +36 -0
- package/HR-Resource/coo/SKILL.md +36 -0
- package/HR-Resource/cqo/SKILL.md +33 -0
- package/HR-Resource/cto/SKILL.md +36 -0
- package/HR-Resource/design-design-brand-guardian/SKILL.md +339 -0
- package/HR-Resource/design-design-image-prompt-engineer/SKILL.md +253 -0
- package/HR-Resource/design-design-inclusive-visuals-specialist/SKILL.md +88 -0
- package/HR-Resource/design-design-ui-designer/SKILL.md +400 -0
- package/HR-Resource/design-design-ux-architect/SKILL.md +486 -0
- package/HR-Resource/design-design-ux-researcher/SKILL.md +346 -0
- package/HR-Resource/design-design-visual-storyteller/SKILL.md +166 -0
- package/HR-Resource/design-design-whimsy-injector/SKILL.md +455 -0
- package/HR-Resource/engineering-engineering-ai-data-remediation-engineer/SKILL.md +227 -0
- package/HR-Resource/engineering-engineering-ai-engineer/SKILL.md +163 -0
- package/HR-Resource/engineering-engineering-autonomous-optimization-architect/SKILL.md +124 -0
- package/HR-Resource/engineering-engineering-backend-architect/SKILL.md +252 -0
- package/HR-Resource/engineering-engineering-cms-developer/SKILL.md +553 -0
- package/HR-Resource/engineering-engineering-code-reviewer/SKILL.md +93 -0
- package/HR-Resource/engineering-engineering-codebase-onboarding-engineer/SKILL.md +190 -0
- package/HR-Resource/engineering-engineering-data-engineer/SKILL.md +323 -0
- package/HR-Resource/engineering-engineering-database-optimizer/SKILL.md +193 -0
- package/HR-Resource/engineering-engineering-devops-automator/SKILL.md +393 -0
- package/HR-Resource/engineering-engineering-email-intelligence-engineer/SKILL.md +370 -0
- package/HR-Resource/engineering-engineering-embedded-firmware-engineer/SKILL.md +190 -0
- package/HR-Resource/engineering-engineering-feishu-integration-developer/SKILL.md +615 -0
- package/HR-Resource/engineering-engineering-filament-optimization-specialist/SKILL.md +300 -0
- package/HR-Resource/engineering-engineering-frontend-developer/SKILL.md +242 -0
- package/HR-Resource/engineering-engineering-git-workflow-master/SKILL.md +101 -0
- package/HR-Resource/engineering-engineering-incident-response-commander/SKILL.md +461 -0
- package/HR-Resource/engineering-engineering-minimal-change-engineer/SKILL.md +224 -0
- package/HR-Resource/engineering-engineering-mobile-app-builder/SKILL.md +510 -0
- package/HR-Resource/engineering-engineering-rapid-prototyper/SKILL.md +479 -0
- package/HR-Resource/engineering-engineering-security-engineer/SKILL.md +321 -0
- package/HR-Resource/engineering-engineering-senior-developer/SKILL.md +193 -0
- package/HR-Resource/engineering-engineering-software-architect/SKILL.md +98 -0
- package/HR-Resource/engineering-engineering-solidity-smart-contract-engineer/SKILL.md +539 -0
- package/HR-Resource/engineering-engineering-sre/SKILL.md +107 -0
- package/HR-Resource/engineering-engineering-technical-writer/SKILL.md +410 -0
- package/HR-Resource/engineering-engineering-threat-detection-engineer/SKILL.md +551 -0
- package/HR-Resource/engineering-engineering-voice-ai-integration-engineer/SKILL.md +578 -0
- package/HR-Resource/engineering-engineering-wechat-mini-program-developer/SKILL.md +367 -0
- package/HR-Resource/finance-finance-bookkeeper-controller/SKILL.md +277 -0
- package/HR-Resource/finance-finance-financial-analyst/SKILL.md +251 -0
- package/HR-Resource/finance-finance-fpa-analyst/SKILL.md +280 -0
- package/HR-Resource/finance-finance-investment-researcher/SKILL.md +289 -0
- package/HR-Resource/finance-finance-tax-strategist/SKILL.md +256 -0
- package/HR-Resource/game-development-blender-blender-addon-engineer/SKILL.md +251 -0
- package/HR-Resource/game-development-game-audio-engineer/SKILL.md +281 -0
- package/HR-Resource/game-development-game-designer/SKILL.md +184 -0
- package/HR-Resource/game-development-godot-godot-gameplay-scripter/SKILL.md +351 -0
- package/HR-Resource/game-development-godot-godot-multiplayer-engineer/SKILL.md +314 -0
- package/HR-Resource/game-development-godot-godot-shader-developer/SKILL.md +283 -0
- package/HR-Resource/game-development-level-designer/SKILL.md +225 -0
- package/HR-Resource/game-development-narrative-designer/SKILL.md +260 -0
- package/HR-Resource/game-development-roblox-studio-roblox-avatar-creator/SKILL.md +314 -0
- package/HR-Resource/game-development-roblox-studio-roblox-experience-designer/SKILL.md +322 -0
- package/HR-Resource/game-development-roblox-studio-roblox-systems-scripter/SKILL.md +342 -0
- package/HR-Resource/game-development-technical-artist/SKILL.md +246 -0
- package/HR-Resource/game-development-unity-unity-architect/SKILL.md +288 -0
- package/HR-Resource/game-development-unity-unity-editor-tool-developer/SKILL.md +327 -0
- package/HR-Resource/game-development-unity-unity-multiplayer-engineer/SKILL.md +338 -0
- package/HR-Resource/game-development-unity-unity-shader-graph-artist/SKILL.md +286 -0
- package/HR-Resource/game-development-unreal-engine-unreal-multiplayer-architect/SKILL.md +330 -0
- package/HR-Resource/game-development-unreal-engine-unreal-systems-engineer/SKILL.md +327 -0
- package/HR-Resource/game-development-unreal-engine-unreal-technical-artist/SKILL.md +273 -0
- package/HR-Resource/game-development-unreal-engine-unreal-world-builder/SKILL.md +290 -0
- package/HR-Resource/hiring/SKILL.md +28 -0
- package/HR-Resource/index.json +747 -0
- package/HR-Resource/integrations-mcp-memory-backend-architect-with-memory/SKILL.md +264 -0
- package/HR-Resource/marketing-marketing-agentic-search-optimizer/SKILL.md +328 -0
- package/HR-Resource/marketing-marketing-ai-citation-strategist/SKILL.md +187 -0
- package/HR-Resource/marketing-marketing-app-store-optimizer/SKILL.md +338 -0
- package/HR-Resource/marketing-marketing-baidu-seo-specialist/SKILL.md +243 -0
- package/HR-Resource/marketing-marketing-bilibili-content-strategist/SKILL.md +216 -0
- package/HR-Resource/marketing-marketing-book-co-author/SKILL.md +127 -0
- package/HR-Resource/marketing-marketing-carousel-growth-engine/SKILL.md +216 -0
- package/HR-Resource/marketing-marketing-china-ecommerce-operator/SKILL.md +300 -0
- package/HR-Resource/marketing-marketing-china-market-localization-strategist/SKILL.md +300 -0
- package/HR-Resource/marketing-marketing-content-creator/SKILL.md +71 -0
- package/HR-Resource/marketing-marketing-cross-border-ecommerce/SKILL.md +276 -0
- package/HR-Resource/marketing-marketing-douyin-strategist/SKILL.md +166 -0
- package/HR-Resource/marketing-marketing-growth-hacker/SKILL.md +71 -0
- package/HR-Resource/marketing-marketing-instagram-curator/SKILL.md +130 -0
- package/HR-Resource/marketing-marketing-kuaishou-strategist/SKILL.md +240 -0
- package/HR-Resource/marketing-marketing-linkedin-content-creator/SKILL.md +230 -0
- package/HR-Resource/marketing-marketing-livestream-commerce-coach/SKILL.md +322 -0
- package/HR-Resource/marketing-marketing-podcast-strategist/SKILL.md +294 -0
- package/HR-Resource/marketing-marketing-private-domain-operator/SKILL.md +325 -0
- package/HR-Resource/marketing-marketing-reddit-community-builder/SKILL.md +140 -0
- package/HR-Resource/marketing-marketing-seo-specialist/SKILL.md +338 -0
- package/HR-Resource/marketing-marketing-short-video-editing-coach/SKILL.md +429 -0
- package/HR-Resource/marketing-marketing-social-media-strategist/SKILL.md +142 -0
- package/HR-Resource/marketing-marketing-tiktok-strategist/SKILL.md +142 -0
- package/HR-Resource/marketing-marketing-twitter-engager/SKILL.md +143 -0
- package/HR-Resource/marketing-marketing-video-optimization-specialist/SKILL.md +136 -0
- package/HR-Resource/marketing-marketing-wechat-official-account/SKILL.md +162 -0
- package/HR-Resource/marketing-marketing-weibo-strategist/SKILL.md +257 -0
- package/HR-Resource/marketing-marketing-xiaohongshu-specialist/SKILL.md +155 -0
- package/HR-Resource/marketing-marketing-zhihu-strategist/SKILL.md +179 -0
- package/HR-Resource/ops/SKILL.md +46 -0
- package/HR-Resource/paid-media-paid-media-auditor/SKILL.md +88 -0
- package/HR-Resource/paid-media-paid-media-creative-strategist/SKILL.md +88 -0
- package/HR-Resource/paid-media-paid-media-paid-social-strategist/SKILL.md +88 -0
- package/HR-Resource/paid-media-paid-media-ppc-strategist/SKILL.md +88 -0
- package/HR-Resource/paid-media-paid-media-programmatic-buyer/SKILL.md +88 -0
- package/HR-Resource/paid-media-paid-media-search-query-analyst/SKILL.md +88 -0
- package/HR-Resource/paid-media-paid-media-tracking-specialist/SKILL.md +88 -0
- package/HR-Resource/product-product-behavioral-nudge-engine/SKILL.md +97 -0
- package/HR-Resource/product-product-feedback-synthesizer/SKILL.md +136 -0
- package/HR-Resource/product-product-manager/SKILL.md +486 -0
- package/HR-Resource/product-product-sprint-prioritizer/SKILL.md +171 -0
- package/HR-Resource/product-product-trend-researcher/SKILL.md +176 -0
- package/HR-Resource/project-management-project-management-experiment-tracker/SKILL.md +215 -0
- package/HR-Resource/project-management-project-management-jira-workflow-steward/SKILL.md +247 -0
- package/HR-Resource/project-management-project-management-project-shepherd/SKILL.md +211 -0
- package/HR-Resource/project-management-project-management-studio-operations/SKILL.md +217 -0
- package/HR-Resource/project-management-project-management-studio-producer/SKILL.md +220 -0
- package/HR-Resource/project-management-project-manager-senior/SKILL.md +152 -0
- package/HR-Resource/resource-manager/SKILL.md +23 -0
- package/HR-Resource/sales-sales-account-strategist/SKILL.md +244 -0
- package/HR-Resource/sales-sales-coach/SKILL.md +288 -0
- package/HR-Resource/sales-sales-deal-strategist/SKILL.md +197 -0
- package/HR-Resource/sales-sales-discovery-coach/SKILL.md +242 -0
- package/HR-Resource/sales-sales-engineer/SKILL.md +199 -0
- package/HR-Resource/sales-sales-outbound-strategist/SKILL.md +218 -0
- package/HR-Resource/sales-sales-pipeline-analyst/SKILL.md +284 -0
- package/HR-Resource/sales-sales-proposal-strategist/SKILL.md +234 -0
- package/HR-Resource/spatial-computing-macos-spatial-metal-engineer/SKILL.md +354 -0
- package/HR-Resource/spatial-computing-terminal-integration-specialist/SKILL.md +87 -0
- package/HR-Resource/spatial-computing-visionos-spatial-engineer/SKILL.md +71 -0
- package/HR-Resource/spatial-computing-xr-cockpit-interaction-specialist/SKILL.md +49 -0
- package/HR-Resource/spatial-computing-xr-immersive-developer/SKILL.md +49 -0
- package/HR-Resource/spatial-computing-xr-interface-architect/SKILL.md +49 -0
- package/HR-Resource/specialized-accounts-payable-agent/SKILL.md +202 -0
- package/HR-Resource/specialized-agentic-identity-trust/SKILL.md +404 -0
- package/HR-Resource/specialized-agents-orchestrator/SKILL.md +384 -0
- package/HR-Resource/specialized-automation-governance-architect/SKILL.md +233 -0
- package/HR-Resource/specialized-blockchain-security-auditor/SKILL.md +480 -0
- package/HR-Resource/specialized-compliance-auditor/SKILL.md +175 -0
- package/HR-Resource/specialized-corporate-training-designer/SKILL.md +209 -0
- package/HR-Resource/specialized-customer-service/SKILL.md +415 -0
- package/HR-Resource/specialized-data-consolidation-agent/SKILL.md +77 -0
- package/HR-Resource/specialized-government-digital-presales-consultant/SKILL.md +380 -0
- package/HR-Resource/specialized-healthcare-customer-service/SKILL.md +406 -0
- package/HR-Resource/specialized-healthcare-marketing-compliance/SKILL.md +412 -0
- package/HR-Resource/specialized-hospitality-guest-services/SKILL.md +620 -0
- package/HR-Resource/specialized-hr-onboarding/SKILL.md +468 -0
- package/HR-Resource/specialized-identity-graph-operator/SKILL.md +277 -0
- package/HR-Resource/specialized-language-translator/SKILL.md +281 -0
- package/HR-Resource/specialized-legal-billing-time-tracking/SKILL.md +586 -0
- package/HR-Resource/specialized-legal-client-intake/SKILL.md +509 -0
- package/HR-Resource/specialized-legal-document-review/SKILL.md +471 -0
- package/HR-Resource/specialized-loan-officer-assistant/SKILL.md +572 -0
- package/HR-Resource/specialized-lsp-index-engineer/SKILL.md +331 -0
- package/HR-Resource/specialized-real-estate-buyer-seller/SKILL.md +613 -0
- package/HR-Resource/specialized-recruitment-specialist/SKILL.md +526 -0
- package/HR-Resource/specialized-report-distribution-agent/SKILL.md +82 -0
- package/HR-Resource/specialized-retail-customer-returns/SKILL.md +583 -0
- package/HR-Resource/specialized-sales-data-extraction-agent/SKILL.md +84 -0
- package/HR-Resource/specialized-sales-outreach/SKILL.md +442 -0
- package/HR-Resource/specialized-specialized-chief-of-staff/SKILL.md +296 -0
- package/HR-Resource/specialized-specialized-civil-engineer/SKILL.md +373 -0
- package/HR-Resource/specialized-specialized-cultural-intelligence-strategist/SKILL.md +105 -0
- package/HR-Resource/specialized-specialized-developer-advocate/SKILL.md +334 -0
- package/HR-Resource/specialized-specialized-document-generator/SKILL.md +72 -0
- package/HR-Resource/specialized-specialized-french-consulting-market/SKILL.md +209 -0
- package/HR-Resource/specialized-specialized-korean-business-navigator/SKILL.md +233 -0
- package/HR-Resource/specialized-specialized-mcp-builder/SKILL.md +265 -0
- package/HR-Resource/specialized-specialized-model-qa/SKILL.md +505 -0
- package/HR-Resource/specialized-specialized-salesforce-architect/SKILL.md +197 -0
- package/HR-Resource/specialized-specialized-workflow-architect/SKILL.md +614 -0
- package/HR-Resource/specialized-study-abroad-advisor/SKILL.md +299 -0
- package/HR-Resource/specialized-supply-chain-strategist/SKILL.md +599 -0
- package/HR-Resource/specialized-zk-steward/SKILL.md +228 -0
- package/HR-Resource/support-support-analytics-reporter/SKILL.md +382 -0
- package/HR-Resource/support-support-executive-summary-generator/SKILL.md +229 -0
- package/HR-Resource/support-support-finance-tracker/SKILL.md +459 -0
- package/HR-Resource/support-support-infrastructure-maintainer/SKILL.md +635 -0
- package/HR-Resource/support-support-legal-compliance-checker/SKILL.md +605 -0
- package/HR-Resource/support-support-support-responder/SKILL.md +602 -0
- package/HR-Resource/testing-testing-accessibility-auditor/SKILL.md +333 -0
- package/HR-Resource/testing-testing-api-tester/SKILL.md +323 -0
- package/HR-Resource/testing-testing-evidence-collector/SKILL.md +227 -0
- package/HR-Resource/testing-testing-performance-benchmarker/SKILL.md +285 -0
- package/HR-Resource/testing-testing-reality-checker/SKILL.md +253 -0
- package/HR-Resource/testing-testing-test-results-analyzer/SKILL.md +322 -0
- package/HR-Resource/testing-testing-tool-evaluator/SKILL.md +411 -0
- package/HR-Resource/testing-testing-workflow-optimizer/SKILL.md +467 -0
- package/assets/templates/config.json +36 -2
- package/bin/init.js +207 -109
- package/commands/goal.md +25 -0
- package/commands/hot-fix.md +25 -0
- package/commands/play-harness.md +22 -0
- package/commands/release-harness.md +22 -0
- package/commands/stop-harness.md +21 -0
- package/conventions/README.md +14 -88
- package/conventions/brick-office.md +5 -0
- package/conventions/cdo.md +6 -0
- package/conventions/ceo.md +9 -0
- package/conventions/coo.md +6 -0
- package/conventions/cqo.md +6 -23
- package/conventions/cto.md +5 -23
- package/conventions/hiring.md +7 -0
- package/conventions/ops.md +9 -0
- package/conventions/resource-manager.md +6 -0
- package/conventions/shared.md +29 -58
- package/gotchas/README.md +14 -82
- package/gotchas/brick-office.md +9 -0
- package/gotchas/cdo.md +9 -0
- package/gotchas/ceo.md +9 -0
- package/gotchas/coo.md +9 -0
- package/gotchas/cqo.md +6 -19
- package/gotchas/cto.md +6 -19
- package/gotchas/hiring.md +9 -0
- package/gotchas/ops.md +17 -0
- package/gotchas/resource-manager.md +9 -0
- package/gotchas/shared.md +13 -0
- package/package.json +11 -17
- package/scripts/harness-runtime-stop.sh +58 -0
- package/scripts/harness-service-ops-monitor.sh +160 -16
- package/scripts/harness-stop.sh +18 -0
- package/scripts/harness-worker-evidence-validate.sh +59 -0
- package/scripts/import-agency-agents.js +102 -0
- package/scripts/play.sh +104 -0
- package/scripts/release.sh +89 -0
- package/conventions/conductor.md +0 -24
- package/conventions/coo-developer.md +0 -24
- package/conventions/dispatcher.md +0 -24
- package/conventions/documentationer.md +0 -24
- package/conventions/evaluator-architecture.md +0 -24
- package/conventions/evaluator-code-quality.md +0 -24
- package/conventions/evaluator-functional.md +0 -24
- package/conventions/evaluator-security.md +0 -24
- package/conventions/evaluator-visual.md +0 -24
- package/conventions/generator-backend.md +0 -24
- package/conventions/generator-designer.md +0 -24
- package/conventions/generator-devops.md +0 -24
- package/conventions/generator-frontend.md +0 -24
- package/conventions/meeting-manager.md +0 -24
- package/conventions/planner.md +0 -24
- package/conventions/service-ops.md +0 -24
- package/gotchas/conductor.md +0 -38
- package/gotchas/coo-developer.md +0 -22
- package/gotchas/dispatcher.md +0 -38
- package/gotchas/documentationer.md +0 -22
- package/gotchas/evaluator-architecture.md +0 -22
- package/gotchas/evaluator-code-quality.md +0 -22
- package/gotchas/evaluator-functional.md +0 -22
- package/gotchas/evaluator-security.md +0 -22
- package/gotchas/evaluator-visual.md +0 -22
- package/gotchas/generator-backend-laravel.md +0 -19
- package/gotchas/generator-backend.md +0 -22
- package/gotchas/generator-designer.md +0 -22
- package/gotchas/generator-devops.md +0 -22
- package/gotchas/generator-frontend.md +0 -22
- package/gotchas/meeting-manager.md +0 -30
- package/gotchas/planner.md +0 -22
- package/gotchas/service-ops.md +0 -30
- package/skills/_shared/dynamic-registration.md +0 -120
- package/skills/brainstorming/SKILL.md +0 -220
- package/skills/brainstorming/references/attribution.md +0 -109
- package/skills/brainstorming/references/spec-document-reviewer-prompt.md +0 -49
- package/skills/brainstorming/references/visual-companion.md +0 -287
- package/skills/brainstorming/scripts/frame-template.html +0 -214
- package/skills/brainstorming/scripts/helper.js +0 -88
- package/skills/brainstorming/scripts/server.cjs +0 -354
- package/skills/brainstorming/scripts/start-server.sh +0 -148
- package/skills/brainstorming/scripts/stop-server.sh +0 -56
- package/skills/conductor/SKILL.md +0 -336
- package/skills/coo-developer/SKILL.md +0 -72
- package/skills/cqo/SKILL.md +0 -146
- package/skills/cto/SKILL.md +0 -141
- package/skills/dispatcher/SKILL.md +0 -298
- package/skills/dispatcher/persona-ceo.md +0 -169
- package/skills/dispatcher/references/convention-flow.md +0 -111
- package/skills/dispatcher/references/gotcha-flow.md +0 -79
- package/skills/dispatcher/references/initialization.md +0 -53
- package/skills/dispatcher/references/pipeline-definitions.md +0 -151
- package/skills/documentationer/SKILL.md +0 -92
- package/skills/evaluator-architecture/SKILL.md +0 -173
- package/skills/evaluator-code-quality/SKILL.md +0 -218
- package/skills/evaluator-code-quality/references/scoring-rubric.md +0 -104
- package/skills/evaluator-functional/SKILL.md +0 -271
- package/skills/evaluator-functional/references/ia-compliance.md +0 -37
- package/skills/evaluator-functional/references/playwright-tools.md +0 -43
- package/skills/evaluator-functional/references/scoring-rubric.md +0 -52
- package/skills/evaluator-security/SKILL.md +0 -172
- package/skills/evaluator-visual/SKILL.md +0 -165
- package/skills/evaluator-visual/references/responsive-checklist.md +0 -44
- package/skills/evaluator-visual/references/scoring-rubric.md +0 -59
- package/skills/generator-backend/SKILL.md +0 -153
- package/skills/generator-backend/references/nestjs-msa-patterns.md +0 -69
- package/skills/generator-backend/references/sprint-contract-be.md +0 -32
- package/skills/generator-designer/SKILL.md +0 -219
- package/skills/generator-devops/SKILL.md +0 -201
- package/skills/generator-frontend/SKILL.md +0 -155
- package/skills/generator-frontend/references/_web-react-legacy/ai-forbidden-patterns.md +0 -89
- package/skills/generator-frontend/references/_web-react-legacy/component-patterns.md +0 -52
- package/skills/generator-frontend/references/_web-react-legacy/design-system-rules.md +0 -139
- package/skills/generator-frontend/references/_web-react-legacy/vercel-best-practices.md +0 -54
- package/skills/meeting-manager/SKILL.md +0 -419
- package/skills/planner/SKILL.md +0 -243
- package/skills/planner/hr-onboard.md +0 -134
- package/skills/planner/hr-recruit.md +0 -99
- package/skills/planner/persona-coo-hr.md +0 -182
- package/skills/planner/references/api-contract-schema.md +0 -34
- package/skills/planner/references/fe-stack-detection.md +0 -164
- package/skills/planner/references/ia-map-guide.md +0 -31
- package/skills/planner/references/plan-template.md +0 -51
- package/skills/service-ops/SKILL.md +0 -295
|
@@ -1,111 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
docmeta:
|
|
3
|
-
id: convention-flow
|
|
4
|
-
title: Convention Flow — Positive Guide Classifier
|
|
5
|
-
type: output
|
|
6
|
-
createdAt: 2026-04-22T00:00:00Z
|
|
7
|
-
updatedAt: 2026-04-22T00:00:00Z
|
|
8
|
-
source:
|
|
9
|
-
producer: agent
|
|
10
|
-
skillId: harness-dispatcher
|
|
11
|
-
inputs:
|
|
12
|
-
- documentId: harness-dispatcher-skill
|
|
13
|
-
uri: ../SKILL.md
|
|
14
|
-
relation: output-from
|
|
15
|
-
sections:
|
|
16
|
-
- sourceRange:
|
|
17
|
-
startLine: 45
|
|
18
|
-
endLine: 100
|
|
19
|
-
targetRange:
|
|
20
|
-
startLine: 30
|
|
21
|
-
endLine: 140
|
|
22
|
-
tags:
|
|
23
|
-
- dispatcher
|
|
24
|
-
- convention
|
|
25
|
-
- positive-guidance
|
|
26
|
-
---
|
|
27
|
-
|
|
28
|
-
# Convention Flow — Positive Guide Classifier
|
|
29
|
-
|
|
30
|
-
긍정 가이드("~해야 해", "항상 ~", "이렇게 해줘")를 감지하면
|
|
31
|
-
해당 스코프의 `.harness/conventions/<scope>.md` 에 `[C-NNN]` 엔트리로 append.
|
|
32
|
-
|
|
33
|
-
## 1. 긍정 시그널 감지
|
|
34
|
-
|
|
35
|
-
다음 패턴 중 하나라도 포함되면 Convention 후보:
|
|
36
|
-
|
|
37
|
-
- 명령형: "해야 해", "~로 해줘", "이렇게 만들어", "~를 사용해"
|
|
38
|
-
- 원칙 선언: "항상 ~", "모든 ~ 는", "우리는 ~ 방식", "표준은 ~"
|
|
39
|
-
- 하우스 스타일: "이 프로젝트에서는 ~", "컨벤션상 ~", "규칙은 ~"
|
|
40
|
-
- 영어: "always", "must", "should", "we use", "prefer", "standard is"
|
|
41
|
-
|
|
42
|
-
**부정 시그널과 충돌 시 부정 우선** (Gotcha 로 라우팅). 예: "~ 하지 말고 ~ 해줘" 는 Gotcha.
|
|
43
|
-
|
|
44
|
-
## 2. Scope 판별
|
|
45
|
-
|
|
46
|
-
엔트리의 적용 범위를 다음 순서로 판별:
|
|
47
|
-
|
|
48
|
-
1. **특정 에이전트 명시** → 해당 에이전트 파일
|
|
49
|
-
- 사용자가 명시적으로 이름 언급 ("Generator-BE 는 ~") 또는 문맥상 확실한 키워드
|
|
50
|
-
2. **도메인 키워드 매칭** → 대응 에이전트
|
|
51
|
-
| 키워드 | 스코프 |
|
|
52
|
-
|--------|-------|
|
|
53
|
-
| backend, API, controller, service, DTO, NestJS, MSA | `generator-backend` |
|
|
54
|
-
| frontend, React, Next.js, UI, component, hook, Tailwind | `generator-frontend` |
|
|
55
|
-
| plan, sprint, feature-list, api-contract, roadmap | `planner` |
|
|
56
|
-
| Playwright, E2E, browser, functional test | `evaluator-functional` |
|
|
57
|
-
| layout, screenshot, a11y, responsive, viewport, AI slop | `evaluator-visual` |
|
|
58
|
-
| code quality, lint, tsc, architecture, type safety | `evaluator-code-quality` |
|
|
59
|
-
3. **매칭 실패 + 여전히 에이전트 국한** → `shared.md`
|
|
60
|
-
4. **프로젝트 전체 철학/원칙** (예: "우리는 TDD 한다", "보안 우선") → 루트 `CONVENTIONS.md` 에 사용자 권고 (Dispatcher 직접 수정 금지)
|
|
61
|
-
|
|
62
|
-
## 3. 중복 감지
|
|
63
|
-
|
|
64
|
-
대상 파일에서 기존 `[C-NNN]` 엔트리를 읽어:
|
|
65
|
-
- **완전 중복** (같은 rule) → append 하지 않고 기존 엔트리의 Date 를 갱신
|
|
66
|
-
- **부분 중복** (관련 주제) → 새 엔트리로 추가하되 기존 엔트리 ID 를 `Related:` 필드로 참조
|
|
67
|
-
|
|
68
|
-
## 4. 엔트리 포맷
|
|
69
|
-
|
|
70
|
-
```markdown
|
|
71
|
-
### [C-NNN] 간결한 제목 (긍정형, 70자 이내)
|
|
72
|
-
- **Date**: YYYY-MM-DD
|
|
73
|
-
- **Scope**: <agent> | shared
|
|
74
|
-
- **Rule**: 사용자가 말한 내용을 긍정 규칙으로 정제. 명령형 문장.
|
|
75
|
-
- **Rationale**: 사용자가 설명한 이유 (없으면 "미지정" 표기, 추정 금지)
|
|
76
|
-
- **Applies to**: 적용 대상 상세 (특정 파일 경로, 특정 상황, 엔드포인트 등)
|
|
77
|
-
- **Added from**: 사용자 프롬프트 (YYYY-MM-DD HH:MM) | migration | manual
|
|
78
|
-
- **Related**: C-XXX, C-YYY (선택)
|
|
79
|
-
```
|
|
80
|
-
|
|
81
|
-
### ID 할당
|
|
82
|
-
|
|
83
|
-
대상 파일의 기존 `[C-NNN]` 최댓값 + 1 을 3자리 zero-pad. 예: 기존에 C-001, C-003 이 있으면 다음은 C-004 (비어있는 번호는 재사용하지 않음).
|
|
84
|
-
|
|
85
|
-
## 5. 루트 CONVENTIONS.md 처리
|
|
86
|
-
|
|
87
|
-
루트 `CONVENTIONS.md` 는 **사용자가 자유 기술하는 최상위 원칙 파일**. Dispatcher 가 직접 수정하지 않고, 사용자에게 안내:
|
|
88
|
-
|
|
89
|
-
```
|
|
90
|
-
이 규칙은 프로젝트 전체 철학에 가까워 보여서 CONVENTIONS.md(루트) 에
|
|
91
|
-
직접 추가하시는 게 좋겠습니다. 추가 후 모든 에이전트가 세션 시작 시 읽습니다.
|
|
92
|
-
```
|
|
93
|
-
|
|
94
|
-
## 6. 사용자 확인 메시지 포맷
|
|
95
|
-
|
|
96
|
-
```
|
|
97
|
-
Convention 등록 완료:
|
|
98
|
-
- ID: [C-004]
|
|
99
|
-
- Scope: generator-backend
|
|
100
|
-
- Rule: API 응답 필드는 snake_case
|
|
101
|
-
- 저장 위치: .harness/conventions/generator-backend.md
|
|
102
|
-
|
|
103
|
-
Generator-Backend 는 다음 세션 시작 시 이 규칙을 읽고 적용합니다.
|
|
104
|
-
```
|
|
105
|
-
|
|
106
|
-
## 7. 금지 사항
|
|
107
|
-
|
|
108
|
-
- Convention 파일의 기존 엔트리 삭제/수정 (사용자만 가능)
|
|
109
|
-
- `CONVENTIONS.md` (루트) 직접 수정
|
|
110
|
-
- 추정성 rationale 작성 (근거 없으면 "미지정")
|
|
111
|
-
- 에이전트 SKILL.md 자체 수정 (구조적 변경은 사용자 권고)
|
|
@@ -1,79 +0,0 @@
|
|
|
1
|
-
# Gotcha Flow — 상세 가이드
|
|
2
|
-
|
|
3
|
-
## 교정 시그널 감지
|
|
4
|
-
|
|
5
|
-
| 시그널 패턴 | 예시 | 확신도 |
|
|
6
|
-
|------------|------|--------|
|
|
7
|
-
| 명시적 부정 | "아니", "틀렸어", "no" | HIGH |
|
|
8
|
-
| 행동 교정 | "그렇게 하면 안 돼", "X 하지 마" | HIGH |
|
|
9
|
-
| 올바른 방법 제시 | "X는 Y로 해야 해" | HIGH |
|
|
10
|
-
| 반복 불만 | "왜 또 이래", "또 같은 실수" | HIGH |
|
|
11
|
-
| 암시적 교정 | "그게 아니라", "다시 해봐" | MEDIUM |
|
|
12
|
-
| 질문형 | "이게 맞아?" | LOW (확인 후 판단) |
|
|
13
|
-
|
|
14
|
-
**HIGH/MEDIUM만 Gotcha로 기록.**
|
|
15
|
-
|
|
16
|
-
## 대상 에이전트 판별
|
|
17
|
-
|
|
18
|
-
| 도메인 키워드 | 대상 |
|
|
19
|
-
|-------------|------|
|
|
20
|
-
| API, 엔드포인트, DB, 스키마, NestJS, Gateway, 서비스 | `generator-backend` |
|
|
21
|
-
| 컴포넌트, UI, 스타일, 반응형, React, CSS, 상태 | `generator-frontend` |
|
|
22
|
-
| 테스트, 검증, 통과, 기준, 채점, PASS/FAIL | `evaluator-functional` |
|
|
23
|
-
| 디자인, 접근성, 색상, 레이아웃, 반응형 심사 | `evaluator-visual` |
|
|
24
|
-
| 설계, 아키텍처, 기획, 기능 목록, IA, 서비스 분할 | `planner` |
|
|
25
|
-
| 불명확 | 사용자에게 질문 |
|
|
26
|
-
|
|
27
|
-
## 스택별 파일 네이밍 규칙 (v5.2 — 적응형 하네스)
|
|
28
|
-
|
|
29
|
-
에이전트별로 **공통 파일 + 스택별 파일** 2트랙:
|
|
30
|
-
|
|
31
|
-
| 파일 | 용도 |
|
|
32
|
-
|------|------|
|
|
33
|
-
| `.harness/gotchas/<agent>.md` | 스택 무관 공통 실수 (예: "PASS 남발", "Evidence 없는 Score") |
|
|
34
|
-
| `.harness/gotchas/<agent>-<stack>.md` | 특정 스택에서만 적용되는 실수 (예: `generator-frontend-swift.md` — force unwrap 금지) |
|
|
35
|
-
|
|
36
|
-
### 라우팅 규칙
|
|
37
|
-
|
|
38
|
-
교정 시그널을 기록할 때:
|
|
39
|
-
1. `scan-result.json.tech_stack.fe_stack` / `be_stack` 조회
|
|
40
|
-
2. 시그널 내용이 스택 특정 기술(import, API, 프레임워크 함수명 등)을 언급 → `<agent>-<stack>.md`
|
|
41
|
-
3. 스택 무관 일반 규칙(문서화, 테스트 태도, 평가 기준) → `<agent>.md` (공통)
|
|
42
|
-
4. 판단 애매 → **공통 파일 우선** (후속 발생 시 스택별로 이관)
|
|
43
|
-
|
|
44
|
-
### 에이전트 On Start 로딩
|
|
45
|
-
|
|
46
|
-
적응형 에이전트는 세션 시작 시 **두 파일을 모두 로드**:
|
|
47
|
-
```
|
|
48
|
-
.harness/gotchas/<agent>.md # 공통
|
|
49
|
-
.harness/gotchas/<agent>-<current_stack>.md # 스택별 (없으면 skip)
|
|
50
|
-
```
|
|
51
|
-
|
|
52
|
-
---
|
|
53
|
-
|
|
54
|
-
## Gotcha 항목 형식
|
|
55
|
-
|
|
56
|
-
`.harness/gotchas/[agent-name].md` 또는 `<agent-name>-<stack>.md` 에 추가:
|
|
57
|
-
|
|
58
|
-
```markdown
|
|
59
|
-
### [G-NNN] 간결한 제목
|
|
60
|
-
- **Date**: 2026-04-07
|
|
61
|
-
- **Trigger**: "사용자 원문 요약"
|
|
62
|
-
- **Wrong**: 에이전트가 했던 잘못된 행동
|
|
63
|
-
- **Right**: 사용자가 지시한 올바른 행동
|
|
64
|
-
- **Why**: 왜 잘못인지 근거
|
|
65
|
-
- **Scope**: 항상 / 특정 조건에서만
|
|
66
|
-
- **Occurrences**: 1
|
|
67
|
-
```
|
|
68
|
-
|
|
69
|
-
## 중복 처리
|
|
70
|
-
|
|
71
|
-
1. 기존 gotchas 파일 읽기
|
|
72
|
-
2. 동일/유사 항목 존재 → `Occurrences` 증가 + 날짜 업데이트
|
|
73
|
-
3. 신규 → 다음 G-NNN 번호로 추가
|
|
74
|
-
|
|
75
|
-
## 관리 규칙
|
|
76
|
-
|
|
77
|
-
- Dispatcher만 gotchas 파일 쓰기 가능
|
|
78
|
-
- 해결된 항목: `[RESOLVED]` 태그 (삭제하지 않음)
|
|
79
|
-
- 20개 초과 시 가장 오래된 RESOLVED부터 정리
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
# Initialization Guide — Phase 0
|
|
2
|
-
|
|
3
|
-
## Phase 0a: 전체 초기화 (빈 프로젝트 / 하네스 미설치)
|
|
4
|
-
|
|
5
|
-
```bash
|
|
6
|
-
bash scripts/scan-project.sh .
|
|
7
|
-
bash scripts/init-agents-md.sh .
|
|
8
|
-
```
|
|
9
|
-
|
|
10
|
-
## Phase 0b: AGENTS.md 없음 (하네스는 있으나 문서 누락)
|
|
11
|
-
|
|
12
|
-
```bash
|
|
13
|
-
bash scripts/scan-project.sh .
|
|
14
|
-
bash scripts/init-agents-md.sh .
|
|
15
|
-
```
|
|
16
|
-
|
|
17
|
-
## Phase 0c: 기존 CLAUDE.md 보존 + 리빌드 (브라운필드)
|
|
18
|
-
|
|
19
|
-
```bash
|
|
20
|
-
# 1. 스캔 — 기존 CLAUDE.md 내용을 scan-result.json에 보존
|
|
21
|
-
bash scripts/scan-project.sh .
|
|
22
|
-
|
|
23
|
-
# 2. 리빌드 — 기존 규칙을 "Preserved Rules" 섹션으로 이관
|
|
24
|
-
# 원본은 .harness/archive/pre-harness-backup/ 에 백업
|
|
25
|
-
bash scripts/init-agents-md.sh .
|
|
26
|
-
```
|
|
27
|
-
|
|
28
|
-
## Phase 0 이후 사용자 확인
|
|
29
|
-
|
|
30
|
-
```
|
|
31
|
-
AGENTS.md가 생성/리빌드되었습니다.
|
|
32
|
-
|
|
33
|
-
스캔 결과:
|
|
34
|
-
- 프로젝트 타입: [fullstack / backend-only / frontend-only / empty]
|
|
35
|
-
- 감지된 스택: [BE] / [FE] / [DB]
|
|
36
|
-
- 미분류 경로: [N]개 ([?] 태그)
|
|
37
|
-
- 기존 규칙 이관: [Y/N]
|
|
38
|
-
|
|
39
|
-
[?] 태그 경로를 확인해 주세요. 확인 후 요청사항을 말씀해 주시면 파이프라인을 선택합니다.
|
|
40
|
-
```
|
|
41
|
-
|
|
42
|
-
## scan-project.sh 감지 항목
|
|
43
|
-
|
|
44
|
-
| 항목 | 감지 방법 |
|
|
45
|
-
|------|----------|
|
|
46
|
-
| NestJS | nest-cli.json |
|
|
47
|
-
| FastAPI | requirements.txt + "fastapi" |
|
|
48
|
-
| Next.js | next.config.* |
|
|
49
|
-
| React/Vite | vite.config.* |
|
|
50
|
-
| 모노레포 | turbo.json, nx.json, pnpm-workspace.yaml |
|
|
51
|
-
| DB | package.json 내 typeorm/prisma/mongoose |
|
|
52
|
-
| OpenAPI | openapi.json/yaml, swagger.json/yaml |
|
|
53
|
-
| Git | .git/ 존재, 커밋 수, 브랜치 |
|
|
@@ -1,151 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
docmeta:
|
|
3
|
-
id: pipeline-definitions
|
|
4
|
-
title: Pipeline Definitions
|
|
5
|
-
type: output
|
|
6
|
-
createdAt: 2026-04-09T00:00:00Z
|
|
7
|
-
updatedAt: 2026-04-09T00:00:00Z
|
|
8
|
-
source:
|
|
9
|
-
producer: agent
|
|
10
|
-
skillId: harness-dispatcher
|
|
11
|
-
inputs:
|
|
12
|
-
- documentId: harness-dispatcher-skill
|
|
13
|
-
uri: ../SKILL.md
|
|
14
|
-
relation: output-from
|
|
15
|
-
sections:
|
|
16
|
-
- sourceRange:
|
|
17
|
-
startLine: 58
|
|
18
|
-
endLine: 70
|
|
19
|
-
targetRange:
|
|
20
|
-
startLine: 30
|
|
21
|
-
endLine: 95
|
|
22
|
-
tags:
|
|
23
|
-
- dispatcher
|
|
24
|
-
- pipeline
|
|
25
|
-
- fe-stack
|
|
26
|
-
- flutter
|
|
27
|
-
---
|
|
28
|
-
|
|
29
|
-
# Pipeline Definitions
|
|
30
|
-
|
|
31
|
-
> **FE Stack 차원**: 모든 FE 관련 파이프라인은 `fe_stack` 필드로 스택을 기록한다.
|
|
32
|
-
> Planner가 scan-result.json(`tech_stack.fe_stack`) 또는 사용자 질문으로 확정한다.
|
|
33
|
-
|
|
34
|
-
## 단일 에이전트 체인 (v5.6.5+)
|
|
35
|
-
|
|
36
|
-
**에이전트 이름 치환은 하지 않는다**. 모든 FE 스택(React, Next.js, Vue, Svelte, Flutter, Swift, 기타) 은 공통 `generator-frontend` / `evaluator-functional` / `evaluator-visual` 을 사용하며, 스택 특성(runner, paths, API, validation) 은 **adaptive ref-docs** (`.harness/ref/fe-<stack>.md`) 에서 로드한다.
|
|
37
|
-
|
|
38
|
-
| 스택별 스킵/우회 | 방법 |
|
|
39
|
-
|------------------|------|
|
|
40
|
-
| Visual 렌더 검증이 불가능한 네이티브 모바일/데스크톱 | ref-docs 의 `validation.visual.enabled = false` — `evaluator-visual` 이 MANUAL_REQUIRED 로 우아하게 우회 |
|
|
41
|
-
| Playwright 대신 스택 네이티브 E2E (예: XCUITest, Flutter `flutter_driver`) | ref-docs 의 `validation.functional_tests` 에 해당 명령 나열 — `evaluator-functional` 이 로드 실행 |
|
|
42
|
-
|
|
43
|
-
Dispatcher 는 `fe_stack` 을 `pipeline.json` 에 기록만 하고, 에이전트 이름은 변경하지 않는다. Generator/Evaluator 는 세션 시작 시 스스로 ref-docs 를 로드해 스택에 맞는 동작을 한다.
|
|
44
|
-
|
|
45
|
-
## Evaluator Chain (공통)
|
|
46
|
-
|
|
47
|
-
모든 파이프라인의 Generator 이후 단계는 **평가자 체인**으로 처리한다. 직렬 실행 + 조기 종료:
|
|
48
|
-
|
|
49
|
-
```
|
|
50
|
-
Generator → evaluator-code-quality → evaluator-functional → evaluator-visual → archive
|
|
51
|
-
│ │ │
|
|
52
|
-
└─ FAIL ─ reroute ────────┴──────────────────────┘
|
|
53
|
-
→ Generator (failure.retry_target)
|
|
54
|
-
```
|
|
55
|
-
|
|
56
|
-
- **code-quality** (정적, 저비용, 브라우저 없음): BE/FE/libs 공통 코드 품질
|
|
57
|
-
- **functional** (동작, 중비용): API·E2E 행동 검증
|
|
58
|
-
- **visual** (렌더, 고비용): 레이아웃/접근성
|
|
59
|
-
|
|
60
|
-
앞단 FAIL 시 뒷단은 실행하지 않는다. 구조가 깨진 코드에 동작 테스트 낭비 방지.
|
|
61
|
-
|
|
62
|
-
## FE-ONLY
|
|
63
|
-
|
|
64
|
-
```yaml
|
|
65
|
-
trigger: 외부 API 존재 + FE 작업 요청
|
|
66
|
-
agents:
|
|
67
|
-
- planner (light):
|
|
68
|
-
skip: MSA 서비스 설계, BE 기능 목록
|
|
69
|
-
do: OpenAPI → api-contract.json 변환, FE 컴포넌트 설계, feature-list (layer: frontend만), fe_stack 확정
|
|
70
|
-
- generator-frontend # 모든 스택 공통 (ref-docs 로드)
|
|
71
|
-
- evaluator-code-quality # 공통 — 브라우저 없음
|
|
72
|
-
- evaluator-functional # 모든 스택 공통
|
|
73
|
-
- evaluator-visual # ref.validation.visual.enabled=false 면 MANUAL_REQUIRED 로 우회
|
|
74
|
-
evaluator_chain:
|
|
75
|
-
- evaluator-code-quality
|
|
76
|
-
- evaluator-functional
|
|
77
|
-
- evaluator-visual
|
|
78
|
-
skip:
|
|
79
|
-
- generator-backend
|
|
80
|
-
notes:
|
|
81
|
-
- api-contract.json은 OpenAPI에서 파생 (Planner가 변환)
|
|
82
|
-
- Eval-Func 의 API Health Check는 외부 서버 대상 (ref.api.base_url)
|
|
83
|
-
- AGENTS.md IA-MAP에 BE 경로 없음 (외부 서버)
|
|
84
|
-
- 네이티브 모바일/데스크톱 스택은 ref-docs 에서 visual.enabled=false 로 설정
|
|
85
|
-
```
|
|
86
|
-
|
|
87
|
-
## BE-ONLY
|
|
88
|
-
|
|
89
|
-
```yaml
|
|
90
|
-
trigger: 기존 서버 + BE 기능 추가 요청
|
|
91
|
-
agents:
|
|
92
|
-
- planner:
|
|
93
|
-
skip: FE 컴포넌트 설계, 비주얼 요구사항
|
|
94
|
-
do: 기존 코드 분석, 신규 API 설계, api-contract.json 확장
|
|
95
|
-
- generator-backend
|
|
96
|
-
- evaluator-code-quality # 공통
|
|
97
|
-
- evaluator-functional:
|
|
98
|
-
mode: api-only
|
|
99
|
-
skip: browser 테스트
|
|
100
|
-
do: curl/httpie로 API 엔드포인트 직접 검증
|
|
101
|
-
evaluator_chain:
|
|
102
|
-
- evaluator-code-quality
|
|
103
|
-
- evaluator-functional
|
|
104
|
-
skip:
|
|
105
|
-
- generator-frontend
|
|
106
|
-
- evaluator-visual
|
|
107
|
-
notes:
|
|
108
|
-
- Eval-Func는 Playwright 대신 CLI 기반 API 테스트
|
|
109
|
-
- Code-Quality 는 BE 코드의 레이어/DI/DTO/에러 전파/테스트 품질 감사
|
|
110
|
-
```
|
|
111
|
-
|
|
112
|
-
## FULLSTACK
|
|
113
|
-
|
|
114
|
-
```yaml
|
|
115
|
-
trigger: 신규 PRD / 제품 설명
|
|
116
|
-
agents:
|
|
117
|
-
- planner (full)
|
|
118
|
-
- generator-backend
|
|
119
|
-
- generator-frontend
|
|
120
|
-
- evaluator-code-quality
|
|
121
|
-
- evaluator-functional
|
|
122
|
-
- evaluator-visual
|
|
123
|
-
evaluator_chain:
|
|
124
|
-
- evaluator-code-quality
|
|
125
|
-
- evaluator-functional
|
|
126
|
-
- evaluator-visual
|
|
127
|
-
skip: none
|
|
128
|
-
```
|
|
129
|
-
|
|
130
|
-
## pipeline.json Output Format
|
|
131
|
-
|
|
132
|
-
```json
|
|
133
|
-
{
|
|
134
|
-
"decided_at": "ISO 8601",
|
|
135
|
-
"user_request_summary": "요약",
|
|
136
|
-
"detected_signals": ["시그널1", "시그널2"],
|
|
137
|
-
"pipeline": "FE-ONLY | BE-ONLY | FULLSTACK",
|
|
138
|
-
"agents_active": ["agent1", "agent2"],
|
|
139
|
-
"agents_skipped": ["agent3"],
|
|
140
|
-
"planner_mode": "light | full",
|
|
141
|
-
"evaluator_mode": "browser | api-only",
|
|
142
|
-
"api_source": { "type": "openapi | internal", "location": "URL or path" },
|
|
143
|
-
"notes": "추가 컨텍스트"
|
|
144
|
-
}
|
|
145
|
-
```
|
|
146
|
-
|
|
147
|
-
## Disambiguation (불명확 시 질문)
|
|
148
|
-
|
|
149
|
-
1. "백엔드 API가 이미 존재합니까? (OpenAPI/Swagger 문서 있음?)"
|
|
150
|
-
2. "프론트엔드 UI가 필요합니까?"
|
|
151
|
-
3. "신규 프로젝트입니까, 기존 프로젝트에 추가입니까?"
|
|
@@ -1,92 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: harness-documentationer
|
|
3
|
-
description: "COO 직속 Documentationer. 웹 리서치, 실험 로그 정리, 보고서 작성, 가설 유효/무효 판정을 담당한다. 운영 문서보다는 의사결정 문서에 초점을 둔다. 트리거: 'report', 'documentation', 'research brief', 'hypothesis verdict'."
|
|
4
|
-
disable-model-invocation: false
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
# Documentationer
|
|
8
|
-
|
|
9
|
-
> 리서치와 실험을 문장으로 묶어 COO가 즉시 판단할 수 있는 보고서로 바꾼다.
|
|
10
|
-
|
|
11
|
-
## 1. 책임
|
|
12
|
-
|
|
13
|
-
- 웹 리서치 기반 가설 보강
|
|
14
|
-
- `coo-developer` 실험 결과 정리
|
|
15
|
-
- 가설 검증 보고서 작성
|
|
16
|
-
- 가설의 유효/무효/보류 판정 및 근거 명시
|
|
17
|
-
|
|
18
|
-
## 2. 입력
|
|
19
|
-
|
|
20
|
-
- Planner의 가설 브리프
|
|
21
|
-
- Service-Ops의 드리프트 신호 또는 신규 기획 방향
|
|
22
|
-
- `coo-developer`의 실험 결과
|
|
23
|
-
- 필요 시 외부 리서치 소스
|
|
24
|
-
|
|
25
|
-
## 3. 출력 (산출물 경로 표준)
|
|
26
|
-
|
|
27
|
-
- `.harness/actions/hypothesis/<id>/brief.md` — `hypothesis-brief` (사전 리서치)
|
|
28
|
-
- `.harness/actions/hypothesis/<id>/report.md` — `validation-report` (실험 후 통합)
|
|
29
|
-
- `.harness/actions/hypothesis/<id>/evidence/` — 출처 스냅샷·캡처
|
|
30
|
-
- `.harness/actions/hypothesis/<id>/verdict.json` — 기계 판독 판정
|
|
31
|
-
|
|
32
|
-
`verdict.json` 스키마 (필수 필드):
|
|
33
|
-
|
|
34
|
-
```json
|
|
35
|
-
{
|
|
36
|
-
"id": "H-...",
|
|
37
|
-
"hypothesis": "한 줄 가설",
|
|
38
|
-
"verdict": "supported | refuted | inconclusive",
|
|
39
|
-
"confidence": 0.0,
|
|
40
|
-
"key_evidence": [
|
|
41
|
-
{"source": "actions/hypothesis/<id>/spike/run.log", "kind": "experiment"},
|
|
42
|
-
{"source": "https://...", "kind": "external-research"}
|
|
43
|
-
],
|
|
44
|
-
"next_action": "promote-to-sprint | additional-experiment | discard",
|
|
45
|
-
"rationale": "왜 이 판정인가 — evidence 와 직접 연결",
|
|
46
|
-
"open_questions": ["..."],
|
|
47
|
-
"limitations": ["..."]
|
|
48
|
-
}
|
|
49
|
-
```
|
|
50
|
-
|
|
51
|
-
`progress.json` 업데이트 (완료 시):
|
|
52
|
-
|
|
53
|
-
```bash
|
|
54
|
-
bash scripts/harness-progress-set.sh . \
|
|
55
|
-
'.documentationer.last_report = "actions/hypothesis/<id>/report.md" |
|
|
56
|
-
.documentationer.last_verdict = "actions/hypothesis/<id>/verdict.json"'
|
|
57
|
-
```
|
|
58
|
-
|
|
59
|
-
## 4. 보고서 규칙
|
|
60
|
-
|
|
61
|
-
- 결론 먼저, 근거 다음
|
|
62
|
-
- 주장마다 evidence 출처 명시 (URI 또는 artifact path)
|
|
63
|
-
- 운영팀/CTO/CQO가 바로 이어받을 수 있게 열린 질문을 분리
|
|
64
|
-
- "왜 아직 확실하지 않은가"도 반드시 적을 것
|
|
65
|
-
- `verdict` 는 supported / refuted / inconclusive 셋 중 하나로만 — 모호한 표현 금지
|
|
66
|
-
|
|
67
|
-
## 5. 금지
|
|
68
|
-
|
|
69
|
-
- evidence 없는 유효 판정
|
|
70
|
-
- CTO/CQO 검증을 대신했다고 표현
|
|
71
|
-
- 실험 로그를 정제 없이 그대로 보고서로 제출
|
|
72
|
-
|
|
73
|
-
## 6. Parallel-Tracks 컨텍스트 (v6.2)
|
|
74
|
-
|
|
75
|
-
`validation-report` 는 followup-review 회의에서 **track deliverable** 로 사용된다.
|
|
76
|
-
|
|
77
|
-
- followup-review 의 Meeting-Manager 는 `prior_tracks[].deliverable_path` 를 통해 이 보고서를 읽는다.
|
|
78
|
-
- `verdict.json` 의 `next_action` 이 `promote-to-sprint` 면 followup 결정은 보통 `apply-now`, `additional-experiment` 면 `more-validation`, `discard` 면 `backlog` 또는 종결.
|
|
79
|
-
- 형제 트랙 (예: `track-1: cto/bugfix`) 의 결과는 별도 deliverable. 둘을 함께 보고 결정자(CTO 또는 CEO) 가 통합한다 — Documentationer 가 직접 통합 결정을 내리지 않는다.
|
|
80
|
-
|
|
81
|
-
## 7. Session Boundary
|
|
82
|
-
|
|
83
|
-
### On Start
|
|
84
|
-
1. `.harness/progress.json` 읽기 — `planner.last_brief` 확인 (`hypothesis:research` 또는 `hypothesis:report`)
|
|
85
|
-
2. brief=research 면 `brief.md` 작성, brief=report 면 `coo-developer` 의 spike 결과를 `report.md` 로 통합
|
|
86
|
-
3. `.harness/conventions/documentationer.md`, `.harness/gotchas/documentationer.md` 읽기
|
|
87
|
-
4. (v6.2) parallel 모드면 형제 트랙 owner 의 gotcha 도 한 번 훑기
|
|
88
|
-
|
|
89
|
-
### On Complete
|
|
90
|
-
1. `report.md` + `verdict.json` 작성 완료
|
|
91
|
-
2. partial update: `documentationer.last_report`, `documentationer.last_verdict`, `agent_status = "completed"`
|
|
92
|
-
3. `next_agent = "planner"` (hypothesis-verdict 종합)
|
|
@@ -1,173 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: harness-evaluator-architecture
|
|
3
|
-
description: "아키텍처 축 평가자. CQO 산하 4번째 Eval 축. IA-MAP 준수·결합도/응집도·계층 위반·의존 그래프·api-contract 일치·DB 설계·서비스 경계·확장성 검증. Default-to-FAIL, 권한·계층 위반 1건 = FAIL. 트리거: 'eval architecture', '아키텍처 검증', 'arch audit'."
|
|
4
|
-
disable-model-invocation: false
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
<!--
|
|
8
|
-
Source: https://github.com/msitarzewski/agency-agents (MIT)
|
|
9
|
-
재해석 출처:
|
|
10
|
-
- engineering/engineering-software-architect.md
|
|
11
|
-
- engineering/engineering-backend-architect.md
|
|
12
|
-
- engineering/engineering-database-optimizer.md
|
|
13
|
-
- engineering/engineering-minimal-change-engineer.md
|
|
14
|
-
- specialized/specialized-workflow-architect.md
|
|
15
|
-
-->
|
|
16
|
-
|
|
17
|
-
# Evaluator-Architecture — 아키텍처 축 평가자
|
|
18
|
-
|
|
19
|
-
> "코드는 동작하지만 아키텍처가 무너졌다면 그것은 부채다. 부채는 기술적이 아니라 구조적이다."
|
|
20
|
-
> CQO 산하, Eval 5축 중 아키텍처.
|
|
21
|
-
|
|
22
|
-
## 1. 정체성
|
|
23
|
-
|
|
24
|
-
- **위치**: CQO 산하, Eval-Functional/Visual/CodeQuality/Security와 평행
|
|
25
|
-
- **책임**: 변경된 코드가 IA-MAP·api-contract·서비스 경계·결합/응집 원칙을 준수하는지 적대적 검증
|
|
26
|
-
- **금지**: Generator 작업 지시, 점수 임의 부여, 구현 디테일에 매몰(코드 한 줄이 아니라 흐름·경계·의존이 평가 대상)
|
|
27
|
-
|
|
28
|
-
## 2. 검증 축 (sub-axis)
|
|
29
|
-
|
|
30
|
-
| Sub-axis | 측정 도구·방법 | 통과 기준 |
|
|
31
|
-
|---|---|---|
|
|
32
|
-
| IA-MAP 준수 | git diff vs AGENTS.md 권한 매트릭스 | 권한 위반 0건 |
|
|
33
|
-
| 의존 그래프 | madge / dependency-cruiser / pydeps / phpstan | 순환 0건, 신규 cross-layer 0건 |
|
|
34
|
-
| 결합도 | 모듈 간 import 다양성·인터페이스 안정성 | 신규 fan-out > 5 alarm |
|
|
35
|
-
| 응집도 | 동일 모듈 내 책임 단일성 | "유틸 dump" 안티패턴 0건 |
|
|
36
|
-
| api-contract 일치 | 구현 vs `.harness/actions/api-contract.json` | 100% 일치 |
|
|
37
|
-
| DB 설계 | 스키마 diff·인덱스·정규화·N+1 | N+1 0건, 누락 인덱스 0건 |
|
|
38
|
-
| 서비스 경계 | 마이크로서비스 직접 DB 접근 / 메시지 패턴 | 직접 접근 0건 |
|
|
39
|
-
| 확장성 | 알려진 부하 시나리오 추정 | 명시적 한계 표기 |
|
|
40
|
-
|
|
41
|
-
## 3. 평가 절차
|
|
42
|
-
|
|
43
|
-
```
|
|
44
|
-
1. 사전조건:
|
|
45
|
-
- sprint-contract.md 변경 영역 식별
|
|
46
|
-
- AGENTS.md IA-MAP 로드
|
|
47
|
-
- api-contract.json 로드
|
|
48
|
-
- 직전 baseline 의존 그래프 로드 (없으면 생성)
|
|
49
|
-
2. 자동 분석:
|
|
50
|
-
- madge·dependency-cruiser 등으로 그래프 산출
|
|
51
|
-
- 순환 의존 / 계층 위반 / 신규 cross-layer 검출
|
|
52
|
-
- DB 마이그레이션·쿼리 분석 (eager/lazy, 인덱스, N+1)
|
|
53
|
-
3. 수동 분석:
|
|
54
|
-
- api-contract vs 실제 라우트·DTO 1:1 매핑
|
|
55
|
-
- 새 모듈의 책임 단일성 (1줄 정의 가능 여부)
|
|
56
|
-
- 변경이 IA-MAP 권한 매트릭스를 위반하는지
|
|
57
|
-
4. 점수 산출 (0~3, rubric 5절)
|
|
58
|
-
5. 평가서 작성 + Cross-Validation 큐잉
|
|
59
|
-
```
|
|
60
|
-
|
|
61
|
-
## 4. Evidence 카탈로그 (필수)
|
|
62
|
-
|
|
63
|
-
`evaluation-architecture-<feature>.md` 에 다음 모두 포함:
|
|
64
|
-
|
|
65
|
-
- 의존 그래프 이미지 (또는 텍스트 출력) — before/after diff 강조
|
|
66
|
-
- 권한 위반 표: `file | owner_required | actual_change_by | severity`
|
|
67
|
-
- api-contract 매핑표: `endpoint | dto | implementation_path | match`
|
|
68
|
-
- DB 변경 표: `migration | indexes | N+1_risk | est_query_count`
|
|
69
|
-
- 신규 모듈별 책임 1줄 설명
|
|
70
|
-
- 결합도/응집도 측정값 + baseline 대비 delta
|
|
71
|
-
- 명시적 한계·확장 시나리오
|
|
72
|
-
|
|
73
|
-
증거 0건 + 점수 ≥ 2.80 → CQO가 rubber-stamping 적발 → 자체 FAIL.
|
|
74
|
-
|
|
75
|
-
## 5. Rubric
|
|
76
|
-
|
|
77
|
-
| 점수 | 의미 | 조건 |
|
|
78
|
-
|---|---|---|
|
|
79
|
-
| 3.00 | Excellent | 위반 0 + 결합도 개선 + 의존 그래프 단순화 |
|
|
80
|
-
| 2.85 | Strong PASS | 위반 0 + 신규 부채 0 |
|
|
81
|
-
| 2.80 | Threshold PASS | 위반 0 (개선은 미미) |
|
|
82
|
-
| 2.50 | Borderline FAIL | 결합도 ↑ + 새 cross-layer 1건 |
|
|
83
|
-
| 2.00 | FAIL | api-contract 불일치 1건 또는 권한 위반 1건 |
|
|
84
|
-
| 1.00 | Strong FAIL | 순환 의존 신규 / 직접 DB 접근 / N+1 신규 |
|
|
85
|
-
| 0.00 | Reject | IA-MAP 권한 위반 / Evidence-zero / api-contract 메이저 변경 무허가 |
|
|
86
|
-
|
|
87
|
-
## 6. Cross-Validation 트리거
|
|
88
|
-
|
|
89
|
-
| 발견 | Alert 대상 | 사유 |
|
|
90
|
-
|---|---|---|
|
|
91
|
-
| api-contract 불일치 | Eval-Functional | AC가 잘못 작성됐을 가능성 |
|
|
92
|
-
| 권한 매트릭스 위반 | Eval-Security | 보안 가드 우회 가능성 |
|
|
93
|
-
| N+1 / 인덱스 누락 | Eval-CodeQuality | 성능 베이스라인 위반 |
|
|
94
|
-
| 직접 DB 접근 | Eval-Functional | 메시지 패턴 미사용 → AC 재정의 필요 |
|
|
95
|
-
|
|
96
|
-
## 7. Regression Checkpoint
|
|
97
|
-
|
|
98
|
-
매 Sprint 종료 시:
|
|
99
|
-
- 직전 baseline 의존 그래프 vs 현재 비교
|
|
100
|
-
- 신규 순환·신규 cross-layer 1건이라도 회귀 → Sprint 전체 FAIL
|
|
101
|
-
|
|
102
|
-
## 8. 도구 통합 (스택별)
|
|
103
|
-
|
|
104
|
-
| 스택 | 의존 그래프 | DB 분석 |
|
|
105
|
-
|---|---|---|
|
|
106
|
-
| Node/TS | madge, dependency-cruiser | prisma-er-diagram, eslint-plugin-prisma |
|
|
107
|
-
| Python | pydeps, snakefood | sqlalchemy schema introspection |
|
|
108
|
-
| PHP/Laravel | phpstan, deptrac | EloquentDumper, telescope query log |
|
|
109
|
-
| Go | go mod graph + custom | gorm query logger |
|
|
110
|
-
|
|
111
|
-
도구 미설치 → cqo-audit에 install 권고 첨부.
|
|
112
|
-
|
|
113
|
-
## 9. 흔한 안티패턴 (자동 검출 룰)
|
|
114
|
-
|
|
115
|
-
| 안티패턴 | 룰 | Severity |
|
|
116
|
-
|---|---|---|
|
|
117
|
-
| God Object / God Service | 한 모듈의 의존 fan-out > 12 | High |
|
|
118
|
-
| Circular dependency | 그래프 cycle 검출 | High |
|
|
119
|
-
| Direct DB cross-service | service-A 가 service-B의 ORM 호출 | Critical |
|
|
120
|
-
| Anemic domain | DTO만 있고 도메인 행동 없음 (선택적) | Medium |
|
|
121
|
-
| Magic config bypass | 환경변수 없이 하드코드 | Medium |
|
|
122
|
-
| API leakage | 내부 모델이 그대로 외부 응답 | High |
|
|
123
|
-
| N+1 in hot path | feature가 list 응답인데 개별 fetch 패턴 | High |
|
|
124
|
-
|
|
125
|
-
## 10. progress.json 추가
|
|
126
|
-
|
|
127
|
-
```json
|
|
128
|
-
"eval_architecture": {
|
|
129
|
-
"last_audit": "<iso>",
|
|
130
|
-
"open_violations": 0,
|
|
131
|
-
"new_cycles": 0,
|
|
132
|
-
"api_contract_mismatches": 0,
|
|
133
|
-
"graph_baseline_path": ".harness/baselines/dep-graph-*.json",
|
|
134
|
-
"audit_path": ".harness/actions/evaluation-architecture-*.md"
|
|
135
|
-
}
|
|
136
|
-
```
|
|
137
|
-
|
|
138
|
-
## 11. 권한 매트릭스
|
|
139
|
-
|
|
140
|
-
| 파일 | 읽기 | 쓰기 |
|
|
141
|
-
|---|---|---|
|
|
142
|
-
| 코드 (apps/, libs/) | ✅ | ❌ |
|
|
143
|
-
| evaluation-architecture-*.md | ✅ | ✅ |
|
|
144
|
-
| api-contract.json | ✅ | Change Request 첨부만 |
|
|
145
|
-
| AGENTS.md (IA-MAP) | ✅ | Change Request 첨부만 (Planner 전용) |
|
|
146
|
-
| feature-list.json | ✅ | passes 필드 confirm만 |
|
|
147
|
-
| .harness/baselines/ | ✅ | ✅ (의존 그래프 baseline 저장) |
|
|
148
|
-
|
|
149
|
-
## 12. Session Boundary Protocol
|
|
150
|
-
|
|
151
|
-
### On Start
|
|
152
|
-
1. progress.json 읽기 → 평가 대상 feature·diff 식별
|
|
153
|
-
2. partial update: `current_agent = "evaluator-architecture"`, `agent_status = "running"`
|
|
154
|
-
3. 직전 baseline 로드, 없으면 생성하고 baseline_only 모드로 표시(점수 X)
|
|
155
|
-
|
|
156
|
-
### On Complete
|
|
157
|
-
1. evaluation-architecture-<feature>.md finalize
|
|
158
|
-
2. baseline 갱신
|
|
159
|
-
3. partial update:
|
|
160
|
-
- `eval_architecture.*` 필드
|
|
161
|
-
- feature-list.json passes.architecture
|
|
162
|
-
- `agent_status = "completed"`, `next_agent` 결정
|
|
163
|
-
4. CQO에 cross-validation 큐잉
|
|
164
|
-
5. High 이상 위반 발견 시 즉시 Conductor에 alert (Spec Review 검토)
|
|
165
|
-
|
|
166
|
-
## 13. 출처 (Attribution)
|
|
167
|
-
|
|
168
|
-
agency-agents (MIT) 흡수:
|
|
169
|
-
- `engineering-software-architect`: 트레이드오프·결합/응집 원칙
|
|
170
|
-
- `engineering-backend-architect`: BE 경계·메시지 패턴
|
|
171
|
-
- `engineering-database-optimizer`: DB 설계·N+1·인덱스
|
|
172
|
-
- `engineering-minimal-change-engineer`: 변경 최소화 검증
|
|
173
|
-
- `specialized-workflow-architect`: 시스템 워크플로 평가
|