mindforge-cc 11.8.2 → 11.9.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/.agent/mindforge/wf-orchestrate-review.md +35 -0
- package/.agent/mindforge/wf-verification-loop.md +45 -0
- package/.agent/mindforge/wf-workflow-optimizer.md +51 -0
- package/.agent/skills/article-illustrator/SKILL.md +7 -7
- package/.agent/skills/arxiv/SKILL.md +6 -6
- package/.agent/skills/code-wiki/SKILL.md +11 -11
- package/.agent/skills/concept-diagrams/SKILL.md +6 -6
- package/.agent/skills/concept-diagrams/examples/apartment-floor-plan-conversion.md +244 -0
- package/.agent/skills/concept-diagrams/examples/automated-password-reset-flow.md +276 -0
- package/.agent/skills/concept-diagrams/examples/autonomous-llm-research-agent-flow.md +240 -0
- package/.agent/skills/concept-diagrams/examples/banana-journey-tree-to-smoothie.md +161 -0
- package/.agent/skills/concept-diagrams/examples/commercial-aircraft-structure.md +209 -0
- package/.agent/skills/concept-diagrams/examples/cpu-ooo-microarchitecture.md +236 -0
- package/.agent/skills/concept-diagrams/examples/electricity-grid-flow.md +182 -0
- package/.agent/skills/concept-diagrams/examples/feature-film-production-pipeline.md +172 -0
- package/.agent/skills/concept-diagrams/examples/hospital-emergency-department-flow.md +165 -0
- package/.agent/skills/concept-diagrams/examples/ml-benchmark-grouped-bar-chart.md +114 -0
- package/.agent/skills/concept-diagrams/examples/place-order-uml-sequence.md +325 -0
- package/.agent/skills/concept-diagrams/examples/smart-city-infrastructure.md +173 -0
- package/.agent/skills/concept-diagrams/examples/smartphone-layer-anatomy.md +154 -0
- package/.agent/skills/concept-diagrams/examples/sn2-reaction-mechanism.md +247 -0
- package/.agent/skills/concept-diagrams/examples/wind-turbine-structure.md +338 -0
- package/.agent/skills/concept-diagrams/templates/template.html +174 -0
- package/.agent/skills/domain-intel/SKILL.md +7 -7
- package/.agent/skills/duckduckgo-search/SKILL.md +17 -17
- package/.agent/skills/github-auth/scripts/gh-env.sh +66 -0
- package/.agent/skills/github-code-review/SKILL.md +9 -9
- package/.agent/skills/github-pr-workflow/SKILL.md +3 -3
- package/.agent/skills/godmode/SKILL.md +8 -8
- package/.agent/skills/jupyter-live-kernel/SKILL.md +3 -3
- package/.agent/skills/kanban-orchestrator/SKILL.md +10 -10
- package/.agent/skills/kanban-worker/SKILL.md +6 -6
- package/.agent/skills/llm-wiki/SKILL.md +7 -7
- package/.agent/skills/mindforge-autonomous/SKILL.md +1 -1
- package/.agent/skills/mindforge-complete-milestone/SKILL.md +1 -1
- package/.agent/skills/mindforge-discuss-phase/SKILL.md +1 -1
- package/.agent/skills/mindforge-do/SKILL.md +1 -1
- package/.agent/skills/mindforge-execute-phase/SKILL.md +1 -1
- package/.agent/skills/mindforge-list-workspaces/SKILL.md +1 -1
- package/.agent/skills/mindforge-manager/SKILL.md +1 -1
- package/.agent/skills/mindforge-neural-orchestrator/SKILL.md +1 -1
- package/.agent/skills/mindforge-new-milestone/SKILL.md +4 -4
- package/.agent/skills/mindforge-new-project/SKILL.md +4 -4
- package/.agent/skills/mindforge-new-workspace/SKILL.md +1 -1
- package/.agent/skills/mindforge-note/SKILL.md +1 -1
- package/.agent/skills/mindforge-plan-phase/SKILL.md +1 -1
- package/.agent/skills/mindforge-profile-user/SKILL.md +1 -1
- package/.agent/skills/mindforge-remove-workspace/SKILL.md +1 -1
- package/.agent/skills/mindforge-research-phase/SKILL.md +1 -1
- package/.agent/skills/mindforge-ui-phase/SKILL.md +1 -1
- package/.agent/skills/mindforge-ui-review/SKILL.md +1 -1
- package/.agent/skills/mindforge-verify-work/SKILL.md +1 -1
- package/.agent/skills/mindforge-workspace-isolated/SKILL.md +1 -1
- package/.agent/skills/node-inspect-debugger/SKILL.md +1 -1
- package/.agent/skills/obsidian/SKILL.md +15 -15
- package/.agent/skills/osint-investigation/SKILL.md +3 -2
- package/.agent/skills/osint-investigation/references/sources/courtlistener.md +98 -0
- package/.agent/skills/osint-investigation/references/sources/gdelt.md +104 -0
- package/.agent/skills/osint-investigation/references/sources/icij-offshore.md +104 -0
- package/.agent/skills/osint-investigation/references/sources/nyc-acris.md +90 -0
- package/.agent/skills/osint-investigation/references/sources/ofac-sdn.md +92 -0
- package/.agent/skills/osint-investigation/references/sources/opencorporates.md +103 -0
- package/.agent/skills/osint-investigation/references/sources/sec-edgar.md +83 -0
- package/.agent/skills/osint-investigation/references/sources/senate-ld.md +89 -0
- package/.agent/skills/osint-investigation/references/sources/usaspending.md +97 -0
- package/.agent/skills/osint-investigation/references/sources/wayback.md +93 -0
- package/.agent/skills/osint-investigation/references/sources/wikipedia.md +107 -0
- package/.agent/skills/osint-investigation/scripts/_http.py +82 -0
- package/.agent/skills/osint-investigation/scripts/_normalize.py +67 -0
- package/.agent/skills/osint-investigation/scripts/build_findings.py +221 -0
- package/.agent/skills/osint-investigation/scripts/entity_resolution.py +228 -0
- package/.agent/skills/osint-investigation/scripts/fetch_courtlistener.py +149 -0
- package/.agent/skills/osint-investigation/scripts/fetch_gdelt.py +161 -0
- package/.agent/skills/osint-investigation/scripts/fetch_icij_offshore.py +234 -0
- package/.agent/skills/osint-investigation/scripts/fetch_nyc_acris.py +203 -0
- package/.agent/skills/osint-investigation/scripts/fetch_ofac_sdn.py +175 -0
- package/.agent/skills/osint-investigation/scripts/fetch_opencorporates.py +191 -0
- package/.agent/skills/osint-investigation/scripts/fetch_sec_edgar.py +184 -0
- package/.agent/skills/osint-investigation/scripts/fetch_senate_ld.py +146 -0
- package/.agent/skills/osint-investigation/scripts/fetch_usaspending.py +170 -0
- package/.agent/skills/osint-investigation/scripts/fetch_wayback.py +142 -0
- package/.agent/skills/osint-investigation/scripts/fetch_wikipedia.py +266 -0
- package/.agent/skills/osint-investigation/scripts/timing_analysis.py +252 -0
- package/.agent/skills/oss-forensics/SKILL.md +10 -9
- package/.agent/skills/oss-forensics/scripts/evidence-store.py +313 -0
- package/.agent/skills/parallel-cli/SKILL.md +2 -2
- package/.agent/skills/pinggy-tunnel/SKILL.md +3 -3
- package/.agent/skills/pixel-art/SKILL.md +2 -2
- package/.agent/skills/plan/SKILL.md +10 -10
- package/.agent/skills/requesting-code-review/SKILL.md +4 -6
- package/.agent/skills/research-paper-writing/SKILL.md +32 -32
- package/.agent/skills/rest-graphql-debug/SKILL.md +31 -32
- package/.agent/skills/s6-container-supervision/SKILL.md +1 -1
- package/.agent/skills/scrapling/SKILL.md +1 -1
- package/.agent/skills/sherlock/SKILL.md +1 -1
- package/.agent/skills/simplify-code/SKILL.md +5 -7
- package/.agent/skills/skill-authoring/SKILL.md +4 -4
- package/.agent/skills/spike/SKILL.md +11 -13
- package/.agent/skills/subagent-driven-development/SKILL.md +7 -11
- package/.agent/skills/systematic-debugging/SKILL.md +13 -14
- package/.agent/skills/test-driven-development/SKILL.md +6 -7
- package/.agent/skills/video-orchestrator/SKILL.md +1 -1
- package/.agent/skills/web-pentest/SKILL.md +7 -7
- package/.mindforge/config.json +3 -2
- package/.mindforge/dynamic-workflows/REGISTRY.md +4 -1
- package/.mindforge/dynamic-workflows/index.json +910 -840
- package/.mindforge/dynamic-workflows/scripts/accessibility-audit.js +88 -90
- package/.mindforge/dynamic-workflows/scripts/ai-model-eval.js +59 -61
- package/.mindforge/dynamic-workflows/scripts/api-contract-test.js +87 -85
- package/.mindforge/dynamic-workflows/scripts/api-migration.js +120 -122
- package/.mindforge/dynamic-workflows/scripts/architecture-modernization.js +84 -86
- package/.mindforge/dynamic-workflows/scripts/code-audit.js +75 -77
- package/.mindforge/dynamic-workflows/scripts/code-explainer.js +99 -101
- package/.mindforge/dynamic-workflows/scripts/competitive-analysis.js +62 -64
- package/.mindforge/dynamic-workflows/scripts/competitive-teardown.js +106 -108
- package/.mindforge/dynamic-workflows/scripts/cost-analysis.js +78 -80
- package/.mindforge/dynamic-workflows/scripts/data-pipeline-validate.js +47 -49
- package/.mindforge/dynamic-workflows/scripts/database-migration.js +85 -87
- package/.mindforge/dynamic-workflows/scripts/debug-detective.js +97 -99
- package/.mindforge/dynamic-workflows/scripts/dependency-health.js +81 -83
- package/.mindforge/dynamic-workflows/scripts/design-system-audit.js +84 -86
- package/.mindforge/dynamic-workflows/scripts/documentation-gen.js +65 -67
- package/.mindforge/dynamic-workflows/scripts/feature-planner.js +78 -80
- package/.mindforge/dynamic-workflows/scripts/incident-response.js +81 -83
- package/.mindforge/dynamic-workflows/scripts/multi-repo-sync.js +49 -51
- package/.mindforge/dynamic-workflows/scripts/mutation-testing.js +113 -115
- package/.mindforge/dynamic-workflows/scripts/onboard-codebase.js +79 -81
- package/.mindforge/dynamic-workflows/scripts/orchestrate-review.js +115 -0
- package/.mindforge/dynamic-workflows/scripts/perf-optimize.js +97 -99
- package/.mindforge/dynamic-workflows/scripts/pr-review.js +61 -63
- package/.mindforge/dynamic-workflows/scripts/refactor-plan.js +88 -90
- package/.mindforge/dynamic-workflows/scripts/release-prep.js +79 -81
- package/.mindforge/dynamic-workflows/scripts/security-hardening.js +117 -119
- package/.mindforge/dynamic-workflows/scripts/security-threat-model.js +119 -121
- package/.mindforge/dynamic-workflows/scripts/tdd-sprint.js +80 -82
- package/.mindforge/dynamic-workflows/scripts/tech-evaluation.js +50 -52
- package/.mindforge/dynamic-workflows/scripts/test-coverage-gap.js +68 -70
- package/.mindforge/dynamic-workflows/scripts/ux-heuristic-audit.js +89 -91
- package/.mindforge/dynamic-workflows/scripts/verification-loop.js +138 -0
- package/.mindforge/dynamic-workflows/scripts/workflow-optimizer.js +136 -0
- package/.mindforge/dynamic-workflows/scripts/writer-reviewer.js +63 -65
- package/.mindforge/memory/sync-manifest.json +1 -1
- package/.mindforge/personas/advisor-researcher.md +2 -2
- package/.mindforge/personas/api-load-tester.md +1 -1
- package/.mindforge/personas/authentication-architect.md +1 -1
- package/.mindforge/personas/backup-recovery-specialist.md +1 -1
- package/.mindforge/personas/build-optimizer.md +1 -1
- package/.mindforge/personas/caching-strategist.md +1 -1
- package/.mindforge/personas/chaos-engineer.md +1 -1
- package/.mindforge/personas/compliance-auditor.md +1 -1
- package/.mindforge/personas/config-management-expert.md +1 -1
- package/.mindforge/personas/coverage-specialist.md +1 -1
- package/.mindforge/personas/debug-specialist.md +2 -2
- package/.mindforge/personas/debugger.md +2 -2
- package/.mindforge/personas/dependency-auditor.md +1 -1
- package/.mindforge/personas/developer.md +1 -1
- package/.mindforge/personas/devops-engineer.md +1 -1
- package/.mindforge/personas/executor.md +1 -1
- package/.mindforge/personas/go-specialist.md +1 -1
- package/.mindforge/personas/incident-commander.md +1 -1
- package/.mindforge/personas/java-specialist.md +1 -1
- package/.mindforge/personas/kubernetes-debugger.md +1 -1
- package/.mindforge/personas/logging-architect.md +1 -1
- package/.mindforge/personas/mf-planner.md +1 -1
- package/.mindforge/personas/mf-researcher.md +1 -1
- package/.mindforge/personas/mf-reviewer.md +1 -1
- package/.mindforge/personas/nyquist-auditor.md +1 -1
- package/.mindforge/personas/observability-engineer.md +1 -1
- package/.mindforge/personas/performance-optimizer.md +1 -1
- package/.mindforge/personas/phase-researcher.md +5 -5
- package/.mindforge/personas/planner.md +1 -1
- package/.mindforge/personas/project-researcher.md +2 -2
- package/.mindforge/personas/python-specialist.md +1 -1
- package/.mindforge/personas/qa-engineer.md +1 -1
- package/.mindforge/personas/release-manager.md +1 -1
- package/.mindforge/personas/research-agent.md +4 -4
- package/.mindforge/personas/roadmapper-extend.md +1 -1
- package/.mindforge/personas/rust-specialist.md +1 -1
- package/.mindforge/personas/security-reviewer.md +1 -1
- package/.mindforge/personas/tech-writer.md +1 -1
- package/.mindforge/personas/typescript-wizard.md +1 -1
- package/.mindforge/personas/ui-researcher.md +1 -1
- package/.mindforge/skills/accessibility/SKILL.md +3 -3
- package/.mindforge/skills/agent-architecture-audit/SKILL.md +11 -0
- package/.mindforge/skills/agent-loops/SKILL.md +1 -1
- package/.mindforge/skills/arxiv/SKILL.md +6 -6
- package/.mindforge/skills/arxiv/scripts/search_arxiv.py +114 -0
- package/.mindforge/skills/code-tour/SKILL.md +2 -2
- package/.mindforge/skills/code-wiki/SKILL.md +11 -11
- package/.mindforge/skills/code-wiki/templates/README.md +31 -0
- package/.mindforge/skills/code-wiki/templates/architecture.md +30 -0
- package/.mindforge/skills/code-wiki/templates/getting-started.md +47 -0
- package/.mindforge/skills/code-wiki/templates/module.md +38 -0
- package/.mindforge/skills/concept-diagrams/SKILL.md +6 -6
- package/.mindforge/skills/concept-diagrams/examples/apartment-floor-plan-conversion.md +244 -0
- package/.mindforge/skills/concept-diagrams/examples/automated-password-reset-flow.md +276 -0
- package/.mindforge/skills/concept-diagrams/examples/autonomous-llm-research-agent-flow.md +240 -0
- package/.mindforge/skills/concept-diagrams/examples/banana-journey-tree-to-smoothie.md +161 -0
- package/.mindforge/skills/concept-diagrams/examples/commercial-aircraft-structure.md +209 -0
- package/.mindforge/skills/concept-diagrams/examples/cpu-ooo-microarchitecture.md +236 -0
- package/.mindforge/skills/concept-diagrams/examples/electricity-grid-flow.md +182 -0
- package/.mindforge/skills/concept-diagrams/examples/feature-film-production-pipeline.md +172 -0
- package/.mindforge/skills/concept-diagrams/examples/hospital-emergency-department-flow.md +165 -0
- package/.mindforge/skills/concept-diagrams/examples/ml-benchmark-grouped-bar-chart.md +114 -0
- package/.mindforge/skills/concept-diagrams/examples/place-order-uml-sequence.md +325 -0
- package/.mindforge/skills/concept-diagrams/examples/smart-city-infrastructure.md +173 -0
- package/.mindforge/skills/concept-diagrams/examples/smartphone-layer-anatomy.md +154 -0
- package/.mindforge/skills/concept-diagrams/examples/sn2-reaction-mechanism.md +247 -0
- package/.mindforge/skills/concept-diagrams/examples/wind-turbine-structure.md +338 -0
- package/.mindforge/skills/concept-diagrams/references/dashboard-patterns.md +43 -0
- package/.mindforge/skills/concept-diagrams/references/infrastructure-patterns.md +144 -0
- package/.mindforge/skills/concept-diagrams/references/physical-shape-cookbook.md +42 -0
- package/.mindforge/skills/concept-diagrams/templates/template.html +174 -0
- package/.mindforge/skills/creative-ideation/references/full-prompt-library.md +110 -0
- package/.mindforge/skills/documentation/SKILL.md +1 -1
- package/.mindforge/skills/domain-intel/SKILL.md +7 -7
- package/.mindforge/skills/domain-intel/scripts/domain_intel.py +397 -0
- package/.mindforge/skills/duckduckgo-search/SKILL.md +17 -17
- package/.mindforge/skills/duckduckgo-search/scripts/duckduckgo.sh +28 -0
- package/.mindforge/skills/environment-management/SKILL.md +1 -1
- package/.mindforge/skills/github-code-review/SKILL.md +9 -9
- package/.mindforge/skills/github-code-review/references/review-output-template.md +74 -0
- package/.mindforge/skills/github-issues/templates/bug-report.md +35 -0
- package/.mindforge/skills/github-issues/templates/feature-request.md +31 -0
- package/.mindforge/skills/github-pr-workflow/SKILL.md +3 -3
- package/.mindforge/skills/github-pr-workflow/references/ci-troubleshooting.md +183 -0
- package/.mindforge/skills/github-pr-workflow/references/conventional-commits.md +71 -0
- package/.mindforge/skills/github-pr-workflow/templates/pr-body-bugfix.md +35 -0
- package/.mindforge/skills/github-pr-workflow/templates/pr-body-feature.md +33 -0
- package/.mindforge/skills/incident-response/SKILL.md +1 -1
- package/.mindforge/skills/jupyter-live-kernel/SKILL.md +3 -3
- package/.mindforge/skills/kanban-orchestrator/SKILL.md +10 -10
- package/.mindforge/skills/kanban-worker/SKILL.md +6 -6
- package/.mindforge/skills/meme-generation/SKILL.md +1 -1
- package/.mindforge/skills/meme-generation/scripts/generate_meme.py +470 -0
- package/.mindforge/skills/meme-generation/scripts/templates.json +97 -0
- package/.mindforge/skills/obsidian/SKILL.md +15 -15
- package/.mindforge/skills/orch-pipeline/SKILL.md +2 -2
- package/.mindforge/skills/osint-investigation/SKILL.md +3 -2
- package/.mindforge/skills/osint-investigation/references/sources/courtlistener.md +98 -0
- package/.mindforge/skills/osint-investigation/references/sources/gdelt.md +104 -0
- package/.mindforge/skills/osint-investigation/references/sources/icij-offshore.md +104 -0
- package/.mindforge/skills/osint-investigation/references/sources/nyc-acris.md +90 -0
- package/.mindforge/skills/osint-investigation/references/sources/ofac-sdn.md +92 -0
- package/.mindforge/skills/osint-investigation/references/sources/opencorporates.md +103 -0
- package/.mindforge/skills/osint-investigation/references/sources/sec-edgar.md +83 -0
- package/.mindforge/skills/osint-investigation/references/sources/senate-ld.md +89 -0
- package/.mindforge/skills/osint-investigation/references/sources/usaspending.md +97 -0
- package/.mindforge/skills/osint-investigation/references/sources/wayback.md +93 -0
- package/.mindforge/skills/osint-investigation/references/sources/wikipedia.md +107 -0
- package/.mindforge/skills/osint-investigation/scripts/_http.py +82 -0
- package/.mindforge/skills/osint-investigation/scripts/_normalize.py +67 -0
- package/.mindforge/skills/osint-investigation/scripts/build_findings.py +221 -0
- package/.mindforge/skills/osint-investigation/scripts/entity_resolution.py +228 -0
- package/.mindforge/skills/osint-investigation/scripts/fetch_courtlistener.py +149 -0
- package/.mindforge/skills/osint-investigation/scripts/fetch_gdelt.py +161 -0
- package/.mindforge/skills/osint-investigation/scripts/fetch_icij_offshore.py +234 -0
- package/.mindforge/skills/osint-investigation/scripts/fetch_nyc_acris.py +203 -0
- package/.mindforge/skills/osint-investigation/scripts/fetch_ofac_sdn.py +175 -0
- package/.mindforge/skills/osint-investigation/scripts/fetch_opencorporates.py +191 -0
- package/.mindforge/skills/osint-investigation/scripts/fetch_sec_edgar.py +184 -0
- package/.mindforge/skills/osint-investigation/scripts/fetch_senate_ld.py +146 -0
- package/.mindforge/skills/osint-investigation/scripts/fetch_usaspending.py +170 -0
- package/.mindforge/skills/osint-investigation/scripts/fetch_wayback.py +142 -0
- package/.mindforge/skills/osint-investigation/scripts/fetch_wikipedia.py +266 -0
- package/.mindforge/skills/osint-investigation/scripts/timing_analysis.py +252 -0
- package/.mindforge/skills/osint-investigation/templates/source-template.md +59 -0
- package/.mindforge/skills/oss-forensics/SKILL.md +6 -6
- package/.mindforge/skills/oss-forensics/references/evidence-types.md +89 -0
- package/.mindforge/skills/oss-forensics/references/github-archive-guide.md +184 -0
- package/.mindforge/skills/oss-forensics/references/investigation-templates.md +131 -0
- package/.mindforge/skills/oss-forensics/references/recovery-techniques.md +164 -0
- package/.mindforge/skills/oss-forensics/scripts/evidence-store.py +313 -0
- package/.mindforge/skills/oss-forensics/templates/forensic-report.md +151 -0
- package/.mindforge/skills/oss-forensics/templates/malicious-package-report.md +43 -0
- package/.mindforge/skills/pixel-art/SKILL.md +2 -2
- package/.mindforge/skills/pixel-art/references/palettes.md +49 -0
- package/.mindforge/skills/plan/SKILL.md +10 -10
- package/.mindforge/skills/requesting-code-review/SKILL.md +4 -6
- package/.mindforge/skills/research-paper-writing/SKILL.md +32 -32
- package/.mindforge/skills/research-paper-writing/references/autoreason-methodology.md +394 -0
- package/.mindforge/skills/research-paper-writing/references/checklists.md +434 -0
- package/.mindforge/skills/research-paper-writing/references/citation-workflow.md +563 -0
- package/.mindforge/skills/research-paper-writing/references/experiment-patterns.md +728 -0
- package/.mindforge/skills/research-paper-writing/references/human-evaluation.md +476 -0
- package/.mindforge/skills/research-paper-writing/references/paper-types.md +481 -0
- package/.mindforge/skills/research-paper-writing/references/reviewer-guidelines.md +433 -0
- package/.mindforge/skills/research-paper-writing/references/sources.md +191 -0
- package/.mindforge/skills/research-paper-writing/references/writing-guide.md +474 -0
- package/.mindforge/skills/research-paper-writing/templates/README.md +251 -0
- package/.mindforge/skills/scrapling/SKILL.md +1 -1
- package/.mindforge/skills/security-review/SKILL.md +1 -1
- package/.mindforge/skills/sherlock/SKILL.md +1 -1
- package/.mindforge/skills/simplify-code/SKILL.md +5 -7
- package/.mindforge/skills/spike/SKILL.md +11 -13
- package/.mindforge/skills/subagent-driven-development/SKILL.md +7 -11
- package/.mindforge/skills/subagent-driven-development/references/context-budget-discipline.md +53 -0
- package/.mindforge/skills/subagent-driven-development/references/gates-taxonomy.md +93 -0
- package/.mindforge/skills/systematic-debugging/SKILL.md +13 -14
- package/.mindforge/skills/test-driven-development/SKILL.md +7 -8
- package/.mindforge/skills/testing-standards/SKILL.md +1 -1
- package/.mindforge/skills/web-pentest/SKILL.md +2 -2
- package/.mindforge/skills/web-pentest/references/bypass-techniques.md +133 -0
- package/.mindforge/skills/web-pentest/references/exploitation-techniques.md +204 -0
- package/.mindforge/skills/web-pentest/references/scope-enforcement.md +110 -0
- package/.mindforge/skills/web-pentest/references/vuln-taxonomy.md +81 -0
- package/.mindforge/skills/web-pentest/templates/authorization.md +69 -0
- package/.mindforge/skills/web-pentest/templates/pentest-report.md +178 -0
- package/.mindforge/skills/writing-skills/SKILL.md +4 -3
- package/CHANGELOG.md +35 -0
- package/MINDFORGE.md +3 -3
- package/README.md +9 -7
- package/RELEASENOTES.md +65 -2
- package/SECURITY.md +5 -3
- package/bin/autonomous/auto-runner.js +5 -2
- package/bin/engine/skill-loader.js +4 -0
- package/bin/governance/rbac.js +4 -0
- package/bin/memory/eis-client.js +1 -0
- package/bin/mindforge-cli.js +5 -0
- package/bin/models/bedrock-provider.js +192 -0
- package/bin/models/model-client.js +19 -0
- package/bin/spawn-agent.js +9 -2
- package/docs/commands-reference.md +68 -6
- package/docs/faq.md +38 -1
- package/docs/getting-started.md +27 -12
- package/docs/sdk-reference.md +36 -3
- package/docs/troubleshooting.md +59 -1
- package/docs/user-guide.md +7 -4
- package/package.json +3 -3
- package/.claude/commands/mindforge/skill-tdd.md +0 -53
- package/.claude/commands/mindforge/skills-index.md +0 -118
- package/.claude/commands/mindforge/systematic-debug.md +0 -60
- package/.claude/commands/mindforge/wf-accessibility-audit.md +0 -31
- package/.claude/commands/mindforge/wf-ai-model-eval.md +0 -31
- package/.claude/commands/mindforge/wf-api-migration.md +0 -31
- package/.claude/commands/mindforge/wf-architecture-modernization.md +0 -32
- package/.claude/commands/mindforge/wf-catalog.md +0 -59
- package/.claude/commands/mindforge/wf-code-audit.md +0 -31
- package/.claude/commands/mindforge/wf-code-explainer.md +0 -31
- package/.claude/commands/mindforge/wf-competitive-analysis.md +0 -31
- package/.claude/commands/mindforge/wf-competitive-teardown.md +0 -31
- package/.claude/commands/mindforge/wf-cost-analysis.md +0 -31
- package/.claude/commands/mindforge/wf-data-pipeline-validate.md +0 -31
- package/.claude/commands/mindforge/wf-database-migration.md +0 -31
- package/.claude/commands/mindforge/wf-debug-detective.md +0 -32
- package/.claude/commands/mindforge/wf-design-system-audit.md +0 -31
- package/.claude/commands/mindforge/wf-documentation-gen.md +0 -31
- package/.claude/commands/mindforge/wf-feature-planner.md +0 -31
- package/.claude/commands/mindforge/wf-incident-response.md +0 -31
- package/.claude/commands/mindforge/wf-multi-repo-sync.md +0 -31
- package/.claude/commands/mindforge/wf-mutation-testing.md +0 -31
- package/.claude/commands/mindforge/wf-onboard-codebase.md +0 -31
- package/.claude/commands/mindforge/wf-perf-optimize.md +0 -31
- package/.claude/commands/mindforge/wf-pr-review.md +0 -31
- package/.claude/commands/mindforge/wf-refactor-plan.md +0 -31
- package/.claude/commands/mindforge/wf-release-prep.md +0 -31
- package/.claude/commands/mindforge/wf-security-threat-model.md +0 -31
- package/.claude/commands/mindforge/wf-tdd-sprint.md +0 -31
- package/.claude/commands/mindforge/wf-tech-evaluation.md +0 -31
- package/.claude/commands/mindforge/wf-ux-heuristic-audit.md +0 -31
- package/.claude/commands/mindforge/wf-writer-reviewer.md +0 -30
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
# Journey of a Banana: From Tree to Smoothie
|
|
2
|
+
|
|
3
|
+
A narrative journey diagram following a single banana across 3,000 miles and 3 weeks, from harvest in Costa Rica to a smoothie in the consumer's kitchen. Demonstrates storytelling through visualization, winding path layout, and progressive state changes.
|
|
4
|
+
|
|
5
|
+
## Key Patterns Used
|
|
6
|
+
|
|
7
|
+
- **Winding journey path**: S-curve connecting all stages visually
|
|
8
|
+
- **Location markers**: Country flags and place names for geographic context
|
|
9
|
+
- **Progressive state changes**: Banana color changes (green → yellow → brown → frozen → smoothie)
|
|
10
|
+
- **Narrative details**: Fun elements like spider check, stickers, price tags
|
|
11
|
+
- **Timeline**: Bottom timeline showing duration of journey
|
|
12
|
+
- **Environmental context**: Ocean waves, gas clouds, store awning
|
|
13
|
+
|
|
14
|
+
## New Shape Techniques
|
|
15
|
+
|
|
16
|
+
### Banana (curved fruit shape)
|
|
17
|
+
```xml
|
|
18
|
+
<!-- Green banana -->
|
|
19
|
+
<path class="banana-green" d="M 5 0 Q 0 10 3 20 Q 6 25 10 20 Q 13 10 8 0 Z"/>
|
|
20
|
+
|
|
21
|
+
<!-- Yellow banana -->
|
|
22
|
+
<path class="banana-yellow" d="M 0 5 Q -6 18 0 32 Q 7 40 15 30 Q 20 15 12 5 Z"/>
|
|
23
|
+
|
|
24
|
+
<!-- Brown overripe banana with spots -->
|
|
25
|
+
<path class="banana-brown" d="M 0 5 Q -5 15 0 28 Q 6 35 14 26 Q 18 14 12 5 Z"/>
|
|
26
|
+
<circle class="banana-spots" cx="5" cy="15" r="1.5"/>
|
|
27
|
+
<circle class="banana-spots" cx="9" cy="20" r="1"/>
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
### Banana Tree
|
|
31
|
+
```xml
|
|
32
|
+
<!-- Trunk -->
|
|
33
|
+
<rect class="tree-trunk" x="55" y="50" width="15" height="60" rx="3"/>
|
|
34
|
+
<!-- Leaves (rotated ellipses) -->
|
|
35
|
+
<ellipse class="tree-leaf" cx="62" cy="45" rx="40" ry="15" transform="rotate(-20, 62, 45)"/>
|
|
36
|
+
<ellipse class="tree-leaf" cx="62" cy="50" rx="35" ry="12" transform="rotate(25, 62, 50)"/>
|
|
37
|
+
<!-- Banana bunch hanging -->
|
|
38
|
+
<g transform="translate(40, 55)">
|
|
39
|
+
<path class="banana-green" d="M 5 0 Q 0 10 3 20 Q 6 25 10 20 Q 13 10 8 0 Z"/>
|
|
40
|
+
<path class="banana-green" d="M 12 2 Q 8 12 11 22 Q 14 27 18 22 Q 21 12 16 2 Z"/>
|
|
41
|
+
<rect class="stem" x="8" y="-5" width="12" height="8" rx="2"/>
|
|
42
|
+
</g>
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
### Cargo Ship
|
|
46
|
+
```xml
|
|
47
|
+
<!-- Ocean waves -->
|
|
48
|
+
<path class="ocean" d="M 0 90 Q 30 85 60 90 Q 90 95 120 90 Q 150 85 180 90 L 180 110 L 0 110 Z" opacity="0.5"/>
|
|
49
|
+
<!-- Hull -->
|
|
50
|
+
<path class="ship-hull" d="M 20 90 L 30 60 L 160 60 L 170 90 Q 150 95 95 95 Q 40 95 20 90 Z"/>
|
|
51
|
+
<!-- Deck -->
|
|
52
|
+
<rect class="ship-deck" x="40" y="45" width="110" height="18" rx="2"/>
|
|
53
|
+
<!-- Reefer containers -->
|
|
54
|
+
<rect class="container" x="45" y="25" width="30" height="22" rx="2"/>
|
|
55
|
+
<!-- Refrigeration symbol -->
|
|
56
|
+
<text x="60" y="40" text-anchor="middle" fill="#185FA5" style="font-size:10px">❄</text>
|
|
57
|
+
<!-- Smoke stack -->
|
|
58
|
+
<rect x="145" y="35" width="8" height="15" fill="#444441"/>
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
### Inspector Figure
|
|
62
|
+
```xml
|
|
63
|
+
<!-- Body -->
|
|
64
|
+
<rect class="inspector" x="10" y="20" width="25" height="35" rx="3"/>
|
|
65
|
+
<!-- Head -->
|
|
66
|
+
<circle class="inspector" cx="22" cy="12" r="10"/>
|
|
67
|
+
<!-- Hat -->
|
|
68
|
+
<rect x="12" y="2" width="20" height="6" rx="2" fill="#534AB7"/>
|
|
69
|
+
<!-- Clipboard -->
|
|
70
|
+
<rect class="clipboard" x="38" y="28" width="15" height="20" rx="2"/>
|
|
71
|
+
<line x1="42" y1="34" x2="50" y2="34" stroke="#888780" stroke-width="1"/>
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
### Spider with "No" Symbol
|
|
75
|
+
```xml
|
|
76
|
+
<circle cx="15" cy="15" r="18" fill="none" stroke="#A32D2D" stroke-width="2"/>
|
|
77
|
+
<line x1="3" y1="3" x2="27" y2="27" stroke="#A32D2D" stroke-width="2"/>
|
|
78
|
+
<!-- Spider body -->
|
|
79
|
+
<ellipse class="spider" cx="15" cy="15" rx="4" ry="5"/>
|
|
80
|
+
<ellipse class="spider" cx="15" cy="10" rx="3" ry="3"/>
|
|
81
|
+
<!-- Legs -->
|
|
82
|
+
<line x1="12" y1="14" x2="5" y2="10" stroke="#2C2C2A" stroke-width="1"/>
|
|
83
|
+
<line x1="18" y1="14" x2="25" y2="10" stroke="#2C2C2A" stroke-width="1"/>
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
### Blender with Smoothie
|
|
87
|
+
```xml
|
|
88
|
+
<!-- Blender jar -->
|
|
89
|
+
<path class="blender" d="M 5 5 L 0 45 L 35 45 L 30 5 Z"/>
|
|
90
|
+
<!-- Smoothie inside (wavy top) -->
|
|
91
|
+
<path class="smoothie" d="M 3 20 L 0 45 L 35 45 L 32 20 Q 25 18 17 22 Q 10 18 3 20 Z"/>
|
|
92
|
+
<!-- Blender base -->
|
|
93
|
+
<rect class="blender" x="-2" y="45" width="40" height="12" rx="3"/>
|
|
94
|
+
<!-- Lid -->
|
|
95
|
+
<rect x="8" y="0" width="20" height="8" rx="2" fill="#AFA9EC" stroke="#534AB7"/>
|
|
96
|
+
<!-- Banana chunks floating -->
|
|
97
|
+
<ellipse cx="12" cy="32" rx="4" ry="2" fill="#FAC775"/>
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
### Winding Journey Path
|
|
101
|
+
```xml
|
|
102
|
+
<path class="journey-path" d="
|
|
103
|
+
M 80 100
|
|
104
|
+
L 200 100
|
|
105
|
+
Q 280 100 280 150
|
|
106
|
+
L 280 180
|
|
107
|
+
Q 280 220 320 220
|
|
108
|
+
L 520 220
|
|
109
|
+
Q 560 220 560 260
|
|
110
|
+
L 560 320
|
|
111
|
+
Q 560 360 520 360
|
|
112
|
+
L 280 360
|
|
113
|
+
...
|
|
114
|
+
"/>
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
## CSS Classes
|
|
118
|
+
|
|
119
|
+
```css
|
|
120
|
+
/* Journey */
|
|
121
|
+
.journey-path { stroke: #D3D1C7; stroke-width: 3; fill: none; stroke-linecap: round; }
|
|
122
|
+
|
|
123
|
+
/* Banana ripeness stages */
|
|
124
|
+
.banana-green { fill: #97C459; stroke: #3B6D11; stroke-width: 0.5; }
|
|
125
|
+
.banana-yellow { fill: #FAC775; stroke: #BA7517; stroke-width: 0.5; }
|
|
126
|
+
.banana-brown { fill: #854F0B; stroke: #633806; stroke-width: 0.5; }
|
|
127
|
+
.banana-spots { fill: #633806; }
|
|
128
|
+
|
|
129
|
+
/* Environment elements */
|
|
130
|
+
.tree-trunk { fill: #854F0B; stroke: #633806; stroke-width: 1; }
|
|
131
|
+
.tree-leaf { fill: #97C459; stroke: #3B6D11; stroke-width: 0.5; }
|
|
132
|
+
.ocean { fill: #85B7EB; }
|
|
133
|
+
.ship-hull { fill: #5F5E5A; stroke: #444441; stroke-width: 1; }
|
|
134
|
+
.container { fill: #E6F1FB; stroke: #185FA5; stroke-width: 1; }
|
|
135
|
+
.gas-cloud { fill: #C0DD97; stroke: #97C459; stroke-width: 0.5; opacity: 0.6; }
|
|
136
|
+
|
|
137
|
+
/* Buildings */
|
|
138
|
+
.packhouse { fill: #F1EFE8; stroke: #5F5E5A; stroke-width: 1; }
|
|
139
|
+
.warehouse { fill: #FAEEDA; stroke: #854F0B; stroke-width: 1; }
|
|
140
|
+
.store { fill: #E1F5EE; stroke: #0F6E56; stroke-width: 1; }
|
|
141
|
+
|
|
142
|
+
/* Kitchen */
|
|
143
|
+
.counter { fill: #FAECE7; stroke: #993C1D; stroke-width: 1; }
|
|
144
|
+
.blender { fill: #EEEDFE; stroke: #534AB7; stroke-width: 1; }
|
|
145
|
+
.smoothie { fill: #FAC775; }
|
|
146
|
+
.freezer { fill: #E6F1FB; stroke: #185FA5; stroke-width: 1; }
|
|
147
|
+
|
|
148
|
+
/* Details */
|
|
149
|
+
.sticker { fill: #378ADD; stroke: #185FA5; stroke-width: 0.3; }
|
|
150
|
+
.spider { fill: #2C2C2A; stroke: #1a1a18; stroke-width: 0.3; }
|
|
151
|
+
```
|
|
152
|
+
|
|
153
|
+
## Layout Notes
|
|
154
|
+
|
|
155
|
+
- **ViewBox**: 850×680 (tall for winding path)
|
|
156
|
+
- **Path style**: S-curve winding path connects all 7 stages
|
|
157
|
+
- **Location labels**: Country flags + place names anchor geographic context
|
|
158
|
+
- **State progression**: Same object (banana) shown in different states throughout
|
|
159
|
+
- **Timeline**: Horizontal timeline at bottom shows journey duration
|
|
160
|
+
- **Narrative elements**: Fun details (spider, stickers, price tags) add storytelling value
|
|
161
|
+
- **Environmental context**: Ocean waves, gas clouds, awnings create sense of place
|
|
@@ -0,0 +1,209 @@
|
|
|
1
|
+
# Commercial Aircraft Structure
|
|
2
|
+
|
|
3
|
+
A physical/structural diagram showing an aircraft side profile using appropriate SVG shapes beyond rectangles - paths, polygons, ellipses for realistic representation.
|
|
4
|
+
|
|
5
|
+
## Key Patterns Used
|
|
6
|
+
|
|
7
|
+
- **Path elements**: Curved fuselage body with nose cone using quadratic bezier curves
|
|
8
|
+
- **Polygon elements**: Tapered wing shape, triangular stabilizers, control surfaces
|
|
9
|
+
- **Ellipse elements**: Engines (cylinders), wheels (circles)
|
|
10
|
+
- **Line elements**: Landing gear struts, leader lines for labels
|
|
11
|
+
- **Dashed strokes**: Interior sections (fuel tank), movable control surfaces (rudder, elevator)
|
|
12
|
+
- **Layered composition**: Cabin sections drawn inside the fuselage shape
|
|
13
|
+
- **Leader lines with labels**: Connect labels to components they describe
|
|
14
|
+
|
|
15
|
+
## Diagram
|
|
16
|
+
|
|
17
|
+
```xml
|
|
18
|
+
<svg width="100%" viewBox="0 0 680 400" xmlns="http://www.w3.org/2000/svg">
|
|
19
|
+
|
|
20
|
+
<!-- FUSELAGE - main body cylinder with nose cone -->
|
|
21
|
+
<path class="fuselage" d="
|
|
22
|
+
M 80 180
|
|
23
|
+
Q 40 180 40 200
|
|
24
|
+
Q 40 220 80 220
|
|
25
|
+
L 560 220
|
|
26
|
+
Q 580 220 580 200
|
|
27
|
+
Q 580 180 560 180
|
|
28
|
+
Z
|
|
29
|
+
"/>
|
|
30
|
+
|
|
31
|
+
<!-- Nose cone -->
|
|
32
|
+
<path class="fuselage" d="
|
|
33
|
+
M 80 180
|
|
34
|
+
Q 50 180 35 200
|
|
35
|
+
Q 50 220 80 220
|
|
36
|
+
" fill="none" stroke-width="1"/>
|
|
37
|
+
|
|
38
|
+
<!-- COCKPIT windows -->
|
|
39
|
+
<path class="cockpit" d="
|
|
40
|
+
M 45 190
|
|
41
|
+
L 75 185
|
|
42
|
+
L 75 200
|
|
43
|
+
L 50 200
|
|
44
|
+
Z
|
|
45
|
+
"/>
|
|
46
|
+
<line x1="55" y1="188" x2="55" y2="200" stroke="#534AB7" stroke-width="0.5"/>
|
|
47
|
+
<line x1="65" y1="186" x2="65" y2="200" stroke="#534AB7" stroke-width="0.5"/>
|
|
48
|
+
|
|
49
|
+
<!-- CABIN SECTIONS (inside fuselage) -->
|
|
50
|
+
<!-- First class -->
|
|
51
|
+
<rect class="first-class" x="85" y="183" width="50" height="34" rx="2"/>
|
|
52
|
+
<text class="tl" x="110" y="203" text-anchor="middle">First</text>
|
|
53
|
+
|
|
54
|
+
<!-- Business class -->
|
|
55
|
+
<rect class="business-class" x="140" y="183" width="80" height="34" rx="2"/>
|
|
56
|
+
<text class="tl" x="180" y="203" text-anchor="middle">Business</text>
|
|
57
|
+
|
|
58
|
+
<!-- Economy class -->
|
|
59
|
+
<rect class="economy-class" x="225" y="183" width="200" height="34" rx="2"/>
|
|
60
|
+
<text class="tl" x="325" y="203" text-anchor="middle">Economy</text>
|
|
61
|
+
|
|
62
|
+
<!-- CARGO HOLD (lower section indication) -->
|
|
63
|
+
<line x1="85" y1="217" x2="520" y2="217" class="leader"/>
|
|
64
|
+
<text class="tl" x="300" y="228" text-anchor="middle" opacity=".6">Cargo hold below deck</text>
|
|
65
|
+
|
|
66
|
+
<!-- WING - main wing shape -->
|
|
67
|
+
<polygon class="wing" points="
|
|
68
|
+
200,220
|
|
69
|
+
120,300
|
|
70
|
+
130,305
|
|
71
|
+
160,305
|
|
72
|
+
340,235
|
|
73
|
+
340,220
|
|
74
|
+
"/>
|
|
75
|
+
|
|
76
|
+
<!-- Wing fuel tank (dashed interior) -->
|
|
77
|
+
<polygon class="fuel-tank" points="
|
|
78
|
+
210,225
|
|
79
|
+
150,280
|
|
80
|
+
160,283
|
|
81
|
+
180,283
|
|
82
|
+
310,232
|
|
83
|
+
310,225
|
|
84
|
+
"/>
|
|
85
|
+
<text class="tl" x="220" y="260" opacity=".7">Fuel</text>
|
|
86
|
+
|
|
87
|
+
<!-- Flaps (trailing edge) -->
|
|
88
|
+
<polygon class="flap" points="
|
|
89
|
+
130,300
|
|
90
|
+
120,305
|
|
91
|
+
160,310
|
|
92
|
+
165,305
|
|
93
|
+
"/>
|
|
94
|
+
<text class="tl" x="143" y="320">Flaps</text>
|
|
95
|
+
|
|
96
|
+
<!-- ENGINE under wing -->
|
|
97
|
+
<ellipse class="engine" cx="175" cy="285" rx="25" ry="12"/>
|
|
98
|
+
<ellipse cx="155" cy="285" rx="8" ry="10" fill="none" stroke="#993C1D" stroke-width="0.5"/>
|
|
99
|
+
<!-- Engine pylon -->
|
|
100
|
+
<line x1="175" y1="273" x2="190" y2="245" stroke="#5F5E5A" stroke-width="2"/>
|
|
101
|
+
<text class="tl" x="175" y="308" text-anchor="middle">Engine</text>
|
|
102
|
+
|
|
103
|
+
<!-- TAIL SECTION -->
|
|
104
|
+
<!-- Vertical stabilizer -->
|
|
105
|
+
<polygon class="tail-v" points="
|
|
106
|
+
520,180
|
|
107
|
+
560,100
|
|
108
|
+
580,100
|
|
109
|
+
580,180
|
|
110
|
+
"/>
|
|
111
|
+
<text class="tl" x="565" y="150" text-anchor="middle">Vertical</text>
|
|
112
|
+
<text class="tl" x="565" y="162" text-anchor="middle">stabilizer</text>
|
|
113
|
+
|
|
114
|
+
<!-- Rudder -->
|
|
115
|
+
<polygon points="575,105 590,105 590,178 580,178" fill="none" stroke="#185FA5" stroke-width="0.5" stroke-dasharray="3 2"/>
|
|
116
|
+
<text class="tl" x="595" y="145" opacity=".6">Rudder</text>
|
|
117
|
+
|
|
118
|
+
<!-- Horizontal stabilizer -->
|
|
119
|
+
<polygon class="tail-h" points="
|
|
120
|
+
500,195
|
|
121
|
+
460,175
|
|
122
|
+
465,170
|
|
123
|
+
580,170
|
|
124
|
+
580,180
|
|
125
|
+
520,195
|
|
126
|
+
"/>
|
|
127
|
+
<text class="tl" x="510" y="166">Horizontal stabilizer</text>
|
|
128
|
+
|
|
129
|
+
<!-- Elevator -->
|
|
130
|
+
<polygon points="462,174 450,168 455,163 467,169" fill="none" stroke="#185FA5" stroke-width="0.5" stroke-dasharray="3 2"/>
|
|
131
|
+
<text class="tl" x="440" y="158" opacity=".6">Elevator</text>
|
|
132
|
+
|
|
133
|
+
<!-- LANDING GEAR -->
|
|
134
|
+
<!-- Nose gear -->
|
|
135
|
+
<line class="gear" x1="100" y1="220" x2="100" y2="260" stroke-width="3"/>
|
|
136
|
+
<ellipse class="wheel" cx="100" cy="268" rx="8" ry="10"/>
|
|
137
|
+
<text class="tl" x="100" y="290" text-anchor="middle">Nose gear</text>
|
|
138
|
+
|
|
139
|
+
<!-- Main gear (under wing/fuselage junction) -->
|
|
140
|
+
<line class="gear" x1="280" y1="220" x2="280" y2="270" stroke-width="4"/>
|
|
141
|
+
<line class="gear" x1="268" y1="265" x2="292" y2="265" stroke-width="3"/>
|
|
142
|
+
<ellipse class="wheel" cx="268" cy="278" rx="10" ry="12"/>
|
|
143
|
+
<ellipse class="wheel" cx="292" cy="278" rx="10" ry="12"/>
|
|
144
|
+
<text class="tl" x="280" y="302" text-anchor="middle">Main gear</text>
|
|
145
|
+
|
|
146
|
+
<!-- LABELS with leader lines -->
|
|
147
|
+
<!-- Cockpit label -->
|
|
148
|
+
<line class="leader" x1="60" y1="175" x2="60" y2="140"/>
|
|
149
|
+
<text class="ts" x="60" y="132" text-anchor="middle">Cockpit</text>
|
|
150
|
+
|
|
151
|
+
<!-- Wing label -->
|
|
152
|
+
<line class="leader" x1="250" y1="250" x2="290" y2="330"/>
|
|
153
|
+
<text class="ts" x="290" y="345" text-anchor="middle">Wing structure</text>
|
|
154
|
+
<text class="tl" x="290" y="358" text-anchor="middle">Spars, ribs, skin</text>
|
|
155
|
+
|
|
156
|
+
<!-- Fuselage label -->
|
|
157
|
+
<line class="leader" x1="400" y1="180" x2="400" y2="140"/>
|
|
158
|
+
<text class="ts" x="400" y="132" text-anchor="middle">Fuselage</text>
|
|
159
|
+
<text class="tl" x="400" y="145" text-anchor="middle">Pressure vessel</text>
|
|
160
|
+
|
|
161
|
+
</svg>
|
|
162
|
+
```
|
|
163
|
+
|
|
164
|
+
## CSS Classes for Physical Diagrams
|
|
165
|
+
|
|
166
|
+
When creating physical/structural diagrams, define semantic classes for each component type:
|
|
167
|
+
|
|
168
|
+
```css
|
|
169
|
+
/* Structure shapes */
|
|
170
|
+
.fuselage { fill: #F1EFE8; stroke: #5F5E5A; stroke-width: 1; }
|
|
171
|
+
.wing { fill: #E6F1FB; stroke: #185FA5; stroke-width: 1; }
|
|
172
|
+
.tail-v { fill: #E6F1FB; stroke: #185FA5; stroke-width: 1; }
|
|
173
|
+
.tail-h { fill: #E6F1FB; stroke: #185FA5; stroke-width: 1; }
|
|
174
|
+
|
|
175
|
+
/* Interior sections */
|
|
176
|
+
.cockpit { fill: #EEEDFE; stroke: #534AB7; stroke-width: 1; }
|
|
177
|
+
.first-class { fill: #FBEAF0; stroke: #993556; stroke-width: 0.5; }
|
|
178
|
+
.business-class { fill: #FAECE7; stroke: #993C1D; stroke-width: 0.5; }
|
|
179
|
+
.economy-class { fill: #E1F5EE; stroke: #0F6E56; stroke-width: 0.5; }
|
|
180
|
+
.cargo { fill: #D3D1C7; stroke: #5F5E5A; stroke-width: 0.5; }
|
|
181
|
+
|
|
182
|
+
/* Systems */
|
|
183
|
+
.engine { fill: #FAECE7; stroke: #993C1D; stroke-width: 1; }
|
|
184
|
+
.fuel-tank { fill: #FAEEDA; stroke: #854F0B; stroke-width: 0.5; stroke-dasharray: 3 2; }
|
|
185
|
+
.flap { fill: #E1F5EE; stroke: #0F6E56; stroke-width: 0.5; }
|
|
186
|
+
|
|
187
|
+
/* Mechanical */
|
|
188
|
+
.gear { fill: #444441; stroke: #2C2C2A; stroke-width: 0.5; }
|
|
189
|
+
.wheel { fill: #2C2C2A; stroke: #1a1a18; stroke-width: 0.5; }
|
|
190
|
+
```
|
|
191
|
+
|
|
192
|
+
## Shape Selection Guide
|
|
193
|
+
|
|
194
|
+
| Physical form | SVG element | Example |
|
|
195
|
+
|---------------|-------------|---------|
|
|
196
|
+
| Curved body | `<path>` with Q (quadratic) or C (cubic) curves | Fuselage, nose cone |
|
|
197
|
+
| Tapered/angular | `<polygon>` | Wings, stabilizers |
|
|
198
|
+
| Cylindrical | `<ellipse>` | Engines, wheels, tanks |
|
|
199
|
+
| Linear structure | `<line>` | Struts, pylons, gear legs |
|
|
200
|
+
| Internal sections | `<rect>` inside parent shape | Cabin classes |
|
|
201
|
+
| Dashed boundaries | `stroke-dasharray` on any shape | Fuel tanks, control surfaces |
|
|
202
|
+
|
|
203
|
+
## Layout Notes
|
|
204
|
+
|
|
205
|
+
- **ViewBox**: 680×400 (wider aspect ratio suits side profile)
|
|
206
|
+
- **Layering**: Draw outer structures first, then interior details on top
|
|
207
|
+
- **Leader lines**: Use `.leader` class (dashed) to connect labels to components
|
|
208
|
+
- **Text sizes**: Use `.tl` (10px) for component labels, `.ts` (12px) for section labels
|
|
209
|
+
- **Semantic colors**: Group by system (structure=blue, propulsion=coral, fuel=amber, etc.)
|
|
@@ -0,0 +1,236 @@
|
|
|
1
|
+
# Out-of-Order CPU Core Microarchitecture
|
|
2
|
+
|
|
3
|
+
A structural diagram showing the internal pipeline stages of a modern superscalar out-of-order CPU core. Demonstrates multi-stage vertical flow with parallel paths, fan-out patterns for execution ports, and a separate memory hierarchy sidebar.
|
|
4
|
+
|
|
5
|
+
## Key Patterns Used
|
|
6
|
+
|
|
7
|
+
- **Multi-stage vertical flow**: Six pipeline stages (Front End → Rename → Schedule → Execute → Retire)
|
|
8
|
+
- **Parallel decode paths**: Main decode and µop cache bypass (dashed line for cache hit)
|
|
9
|
+
- **Container grouping**: Logical stages grouped in colored containers
|
|
10
|
+
- **Fan-out pattern**: Single scheduler dispatching to 6 execution ports
|
|
11
|
+
- **Sidebar layout**: Memory hierarchy placed in separate column on right
|
|
12
|
+
- **Stage labels**: Left-aligned labels indicating pipeline phase
|
|
13
|
+
- **Color-coded semantics**: Different colors for each functional unit category
|
|
14
|
+
|
|
15
|
+
## Diagram Type
|
|
16
|
+
|
|
17
|
+
This is a **hybrid structural/flow** diagram:
|
|
18
|
+
- **Flow aspect**: Instructions move top-to-bottom through pipeline stages
|
|
19
|
+
- **Structural aspect**: Components are grouped by function (rename unit, execution cluster)
|
|
20
|
+
- **Sidebar**: Memory hierarchy is architecturally separate but connected via data paths
|
|
21
|
+
|
|
22
|
+
## Pipeline Stage Breakdown
|
|
23
|
+
|
|
24
|
+
### Front End (Purple)
|
|
25
|
+
```xml
|
|
26
|
+
<!-- Fetch Unit -->
|
|
27
|
+
<g class="node c-purple">
|
|
28
|
+
<rect x="40" y="70" width="140" height="56" rx="8" stroke-width="0.5"/>
|
|
29
|
+
<text class="th" x="110" y="90" text-anchor="middle" dominant-baseline="central">Fetch unit</text>
|
|
30
|
+
<text class="ts" x="110" y="110" text-anchor="middle" dominant-baseline="central">6-wide, 32B/cycle</text>
|
|
31
|
+
</g>
|
|
32
|
+
|
|
33
|
+
<!-- Branch Predictor (subordinate) -->
|
|
34
|
+
<g class="node c-purple">
|
|
35
|
+
<rect x="40" y="140" width="140" height="44" rx="8" stroke-width="0.5"/>
|
|
36
|
+
<text class="th" x="110" y="162" text-anchor="middle" dominant-baseline="central">Branch predictor</text>
|
|
37
|
+
</g>
|
|
38
|
+
|
|
39
|
+
<!-- Decode -->
|
|
40
|
+
<g class="node c-purple">
|
|
41
|
+
<rect x="230" y="70" width="160" height="56" rx="8" stroke-width="0.5"/>
|
|
42
|
+
<text class="th" x="310" y="90" text-anchor="middle" dominant-baseline="central">Decode</text>
|
|
43
|
+
<text class="ts" x="310" y="110" text-anchor="middle" dominant-baseline="central">x86 → µops, 6-wide</text>
|
|
44
|
+
</g>
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
### µop Cache Bypass Path (Teal)
|
|
48
|
+
The µop cache (Decoded Stream Buffer) provides an alternate path that bypasses the complex decoder:
|
|
49
|
+
|
|
50
|
+
```xml
|
|
51
|
+
<!-- µop Cache parallel to decode -->
|
|
52
|
+
<g class="node c-teal">
|
|
53
|
+
<rect x="230" y="150" width="160" height="50" rx="8" stroke-width="0.5"/>
|
|
54
|
+
<text class="th" x="310" y="168" text-anchor="middle" dominant-baseline="central">µop cache (DSB)</text>
|
|
55
|
+
<text class="ts" x="310" y="186" text-anchor="middle" dominant-baseline="central">4K entries, 8-wide</text>
|
|
56
|
+
</g>
|
|
57
|
+
|
|
58
|
+
<!-- Dashed bypass path indicating cache hit -->
|
|
59
|
+
<path d="M180 110 L205 110 L205 175 L230 175" fill="none" class="arr"
|
|
60
|
+
stroke-dasharray="4 3" marker-end="url(#arrow)"/>
|
|
61
|
+
<text class="tx" x="164" y="148" opacity=".6">hit</text>
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
### Rename/Allocate Container (Coral)
|
|
65
|
+
Groups related rename components in a container:
|
|
66
|
+
|
|
67
|
+
```xml
|
|
68
|
+
<!-- Outer container -->
|
|
69
|
+
<g class="c-coral">
|
|
70
|
+
<rect x="40" y="250" width="530" height="130" rx="12" stroke-width="0.5"/>
|
|
71
|
+
<text class="th" x="60" y="274">Rename / allocate</text>
|
|
72
|
+
<text class="ts" x="60" y="292">Map architectural → physical registers</text>
|
|
73
|
+
</g>
|
|
74
|
+
|
|
75
|
+
<!-- Inner components -->
|
|
76
|
+
<g class="node c-coral">
|
|
77
|
+
<rect x="60" y="310" width="180" height="56" rx="8" stroke-width="0.5"/>
|
|
78
|
+
<text class="th" x="150" y="330" text-anchor="middle" dominant-baseline="central">Register alias table</text>
|
|
79
|
+
<text class="ts" x="150" y="350" text-anchor="middle" dominant-baseline="central">180 physical regs</text>
|
|
80
|
+
</g>
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
### Scheduler Fan-Out Pattern (Amber → Teal)
|
|
84
|
+
Single unified scheduler dispatching to multiple execution ports:
|
|
85
|
+
|
|
86
|
+
```xml
|
|
87
|
+
<!-- Unified Scheduler -->
|
|
88
|
+
<g class="node c-amber">
|
|
89
|
+
<rect x="140" y="420" width="330" height="50" rx="8" stroke-width="0.5"/>
|
|
90
|
+
<text class="th" x="305" y="438" text-anchor="middle" dominant-baseline="central">Unified scheduler</text>
|
|
91
|
+
<text class="ts" x="305" y="456" text-anchor="middle" dominant-baseline="central">97 entries, out-of-order dispatch</text>
|
|
92
|
+
</g>
|
|
93
|
+
|
|
94
|
+
<!-- Fan-out arrows to 6 ports -->
|
|
95
|
+
<line x1="170" y1="470" x2="90" y2="540" class="arr" marker-end="url(#arrow)"/>
|
|
96
|
+
<line x1="215" y1="470" x2="170" y2="540" class="arr" marker-end="url(#arrow)"/>
|
|
97
|
+
<line x1="265" y1="470" x2="250" y2="540" class="arr" marker-end="url(#arrow)"/>
|
|
98
|
+
<line x1="305" y1="470" x2="330" y2="540" class="arr" marker-end="url(#arrow)"/>
|
|
99
|
+
<line x1="355" y1="470" x2="410" y2="540" class="arr" marker-end="url(#arrow)"/>
|
|
100
|
+
<line x1="420" y1="470" x2="490" y2="540" class="arr" marker-end="url(#arrow)"/>
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
### Execution Port Box Pattern
|
|
104
|
+
Compact boxes showing port number and capabilities:
|
|
105
|
+
|
|
106
|
+
```xml
|
|
107
|
+
<!-- Execution port with multi-line capability -->
|
|
108
|
+
<g class="node c-teal">
|
|
109
|
+
<rect x="55" y="540" width="70" height="64" rx="6" stroke-width="0.5"/>
|
|
110
|
+
<text class="th" x="90" y="560" text-anchor="middle" dominant-baseline="central">Port 0</text>
|
|
111
|
+
<text class="tx" x="90" y="576" text-anchor="middle" dominant-baseline="central">ALU</text>
|
|
112
|
+
<text class="tx" x="90" y="590" text-anchor="middle" dominant-baseline="central">DIV</text>
|
|
113
|
+
</g>
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
### Reorder Buffer (Pink)
|
|
117
|
+
Wide horizontal bar at bottom showing retirement:
|
|
118
|
+
|
|
119
|
+
```xml
|
|
120
|
+
<g class="c-pink">
|
|
121
|
+
<rect x="40" y="670" width="530" height="40" rx="10" stroke-width="0.5"/>
|
|
122
|
+
<text class="th" x="305" y="694" text-anchor="middle" dominant-baseline="central">Reorder buffer (ROB) — 512 entries, 8-wide retire</text>
|
|
123
|
+
</g>
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
### Memory Hierarchy Sidebar (Blue)
|
|
127
|
+
Separate column showing cache levels:
|
|
128
|
+
|
|
129
|
+
```xml
|
|
130
|
+
<!-- Container -->
|
|
131
|
+
<g class="c-blue">
|
|
132
|
+
<rect x="600" y="30" width="190" height="360" rx="16" stroke-width="0.5"/>
|
|
133
|
+
<text class="th" x="695" y="54" text-anchor="middle">Memory hierarchy</text>
|
|
134
|
+
</g>
|
|
135
|
+
|
|
136
|
+
<!-- Cache levels stacked vertically -->
|
|
137
|
+
<g class="node c-blue">
|
|
138
|
+
<rect x="620" y="70" width="150" height="50" rx="8" stroke-width="0.5"/>
|
|
139
|
+
<text class="th" x="695" y="88" text-anchor="middle" dominant-baseline="central">L1-I cache</text>
|
|
140
|
+
<text class="ts" x="695" y="106" text-anchor="middle" dominant-baseline="central">32 KB, 8-way</text>
|
|
141
|
+
</g>
|
|
142
|
+
<!-- Additional levels follow same pattern -->
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
## Connection Patterns
|
|
146
|
+
|
|
147
|
+
### Instruction Fetch Path
|
|
148
|
+
Horizontal arrow from L1-I cache to fetch unit:
|
|
149
|
+
```xml
|
|
150
|
+
<path d="M620 95 L200 95" fill="none" class="arr" marker-end="url(#arrow)"/>
|
|
151
|
+
<text class="tx" x="410" y="88" text-anchor="middle" opacity=".6">instruction fetch</text>
|
|
152
|
+
```
|
|
153
|
+
|
|
154
|
+
### Load/Store Path
|
|
155
|
+
Complex path from execution ports to L1-D cache:
|
|
156
|
+
```xml
|
|
157
|
+
<path d="M250 604 L250 640 L580 640 L580 160 L620 160" fill="none" class="arr" marker-end="url(#arrow)"/>
|
|
158
|
+
<text class="tx" x="415" y="652" text-anchor="middle" opacity=".6">load / store</text>
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
### Commit Path (dashed)
|
|
162
|
+
Dashed line showing write-back from ROB to register file:
|
|
163
|
+
```xml
|
|
164
|
+
<path d="M550 690 L580 690 L580 445 L595 445" fill="none" class="arr" stroke-dasharray="4 3"/>
|
|
165
|
+
<text class="tx" x="590" y="578" opacity=".6" transform="rotate(-90 590 578)">commit</text>
|
|
166
|
+
```
|
|
167
|
+
|
|
168
|
+
### Path Merge (Decode + µop Cache)
|
|
169
|
+
Two paths converging before rename:
|
|
170
|
+
```xml
|
|
171
|
+
<line x1="390" y1="98" x2="430" y2="98" class="arr"/>
|
|
172
|
+
<line x1="390" y1="175" x2="430" y2="175" class="arr"/>
|
|
173
|
+
<path d="M430 98 L430 175" fill="none" stroke="var(--text-secondary)" stroke-width="1.5"/>
|
|
174
|
+
<line x1="430" y1="136" x2="470" y2="136" class="arr" marker-end="url(#arrow)"/>
|
|
175
|
+
```
|
|
176
|
+
|
|
177
|
+
## Text Classes
|
|
178
|
+
|
|
179
|
+
This diagram uses an additional text class for very small labels:
|
|
180
|
+
|
|
181
|
+
```css
|
|
182
|
+
.tx { font-family: system-ui, -apple-system, sans-serif; font-size: 10px; fill: var(--text-secondary); }
|
|
183
|
+
```
|
|
184
|
+
|
|
185
|
+
Used for:
|
|
186
|
+
- Execution port capability labels (ALU, Branch, Load, etc.)
|
|
187
|
+
- Connection labels (instruction fetch, load/store, commit)
|
|
188
|
+
- DRAM latency annotation
|
|
189
|
+
|
|
190
|
+
## Color Semantic Mapping
|
|
191
|
+
|
|
192
|
+
| Color | Stage | Components |
|
|
193
|
+
|-------|-------|------------|
|
|
194
|
+
| `c-purple` | Front end | Fetch, Branch predictor, Decode |
|
|
195
|
+
| `c-teal` | Execution | µop cache, Execution ports |
|
|
196
|
+
| `c-coral` | Rename | RAT, Physical RF, Free list |
|
|
197
|
+
| `c-amber` | Schedule | Unified scheduler |
|
|
198
|
+
| `c-pink` | Retire | Reorder buffer |
|
|
199
|
+
| `c-blue` | Memory | L1-I, L1-D, L2, DRAM |
|
|
200
|
+
| `c-gray` | External | Off-chip DRAM |
|
|
201
|
+
|
|
202
|
+
## Layout Notes
|
|
203
|
+
|
|
204
|
+
- **ViewBox**: 820×720 (taller than wide for vertical pipeline flow)
|
|
205
|
+
- **Main pipeline**: x=40 to x=570 (530px width)
|
|
206
|
+
- **Memory sidebar**: x=600 to x=790 (190px width)
|
|
207
|
+
- **Stage labels**: x=30, left-aligned, 50% opacity
|
|
208
|
+
- **Vertical spacing**: ~80-100px between major stages
|
|
209
|
+
- **Container padding**: 20px inside containers
|
|
210
|
+
- **Port spacing**: 80px between execution port centers
|
|
211
|
+
- **Legend**: Bottom-right of memory sidebar, explains color coding
|
|
212
|
+
|
|
213
|
+
## Architectural Details Shown
|
|
214
|
+
|
|
215
|
+
| Component | Specification | Notes |
|
|
216
|
+
|-----------|---------------|-------|
|
|
217
|
+
| Fetch | 6-wide, 32B/cycle | Typical modern Intel/AMD |
|
|
218
|
+
| Decode | 6-wide, x86→µops | Complex decoder |
|
|
219
|
+
| µop Cache | 4K entries, 8-wide | Bypass for hot code |
|
|
220
|
+
| RAT | 180 physical regs | Supports deep OoO |
|
|
221
|
+
| Scheduler | 97 entries | Unified RS |
|
|
222
|
+
| Execution | 6 ports | ALU×2, Load, Store×2, Vector |
|
|
223
|
+
| ROB | 512 entries, 8-wide | In-order retirement |
|
|
224
|
+
| L1-I | 32 KB, 8-way | Instruction cache |
|
|
225
|
+
| L1-D | 48 KB, 12-way | Data cache |
|
|
226
|
+
| L2 | 1.25 MB, 20-way | Unified |
|
|
227
|
+
| DRAM | DDR5-6400, ~80ns | Off-chip |
|
|
228
|
+
|
|
229
|
+
## When to Use This Pattern
|
|
230
|
+
|
|
231
|
+
Use this diagram style for:
|
|
232
|
+
- CPU/GPU microarchitecture visualization
|
|
233
|
+
- Compiler pipeline stages
|
|
234
|
+
- Network packet processing pipelines
|
|
235
|
+
- Any system with parallel execution units fed by a scheduler
|
|
236
|
+
- Hardware designs with multiple functional units
|