@tyroneross/build-loop 0.30.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.agents/plugins/marketplace.json +10 -0
- package/.claude-plugin/marketplace.json +38 -0
- package/.claude-plugin/plugin.json +30 -0
- package/.codex-plugin/plugin.json +41 -0
- package/.cursor/rules/build-loop-surface.mdc +22 -0
- package/AGENTS.md +498 -0
- package/LICENSE +202 -0
- package/README.md +403 -0
- package/agents/alignment-checker.md +124 -0
- package/agents/api-assessor.md +136 -0
- package/agents/architecture-scout.md +185 -0
- package/agents/assessment-orchestrator.md +163 -0
- package/agents/build-orchestrator.md +198 -0
- package/agents/database-assessor.md +133 -0
- package/agents/design-contract-specialist.md +239 -0
- package/agents/fact-checker.md +69 -0
- package/agents/fix-critique.md +161 -0
- package/agents/frontend-assessor.md +136 -0
- package/agents/implementer.md +185 -0
- package/agents/independent-auditor.md +143 -0
- package/agents/mock-scanner.md +78 -0
- package/agents/optimize-runner.md +112 -0
- package/agents/overfitting-reviewer.md +96 -0
- package/agents/performance-assessor.md +159 -0
- package/agents/plan-critic.md +85 -0
- package/agents/promotion-reviewer.md +121 -0
- package/agents/recurring-pattern-detector.md +248 -0
- package/agents/retrospective-synthesizer.md +109 -0
- package/agents/root-cause-investigator.md +285 -0
- package/agents/scope-auditor.md +121 -0
- package/agents/security-reviewer.md +151 -0
- package/agents/self-improvement-architect.md +125 -0
- package/agents/synthesis-critic.md +99 -0
- package/agents/transcript-pattern-miner.md +165 -0
- package/agents/ui-validator.md +193 -0
- package/codex-skills/build-loop/SKILL.md +20 -0
- package/codex-skills/debug-loop/SKILL.md +18 -0
- package/codex-skills/handoff/SKILL.md +22 -0
- package/codex-skills/knowledge/SKILL.md +21 -0
- package/codex-skills/optimize/SKILL.md +18 -0
- package/codex-skills/research/SKILL.md +18 -0
- package/commands/agent-rally-point.md +301 -0
- package/commands/assess.md +41 -0
- package/commands/debug.md +20 -0
- package/commands/debugger-detail.md +34 -0
- package/commands/debugger-scan.md +15 -0
- package/commands/debugger-status.md +20 -0
- package/commands/debugger.md +32 -0
- package/commands/handoff.md +113 -0
- package/commands/knowledge-review.md +16 -0
- package/commands/optimize.md +31 -0
- package/commands/plan-verify.md +39 -0
- package/commands/promote-experiment.md +129 -0
- package/commands/research.md +22 -0
- package/commands/run.md +12 -0
- package/commands/self-review.md +51 -0
- package/commands/start-prd.md +57 -0
- package/commands/test.md +34 -0
- package/dist/src/assessment-orchestrator.d.ts +78 -0
- package/dist/src/assessment-orchestrator.d.ts.map +1 -0
- package/dist/src/assessment-orchestrator.js +304 -0
- package/dist/src/assessment-orchestrator.js.map +1 -0
- package/dist/src/audit-miner.d.ts +21 -0
- package/dist/src/audit-miner.d.ts.map +1 -0
- package/dist/src/audit-miner.js +421 -0
- package/dist/src/audit-miner.js.map +1 -0
- package/dist/src/batch-operations.d.ts +30 -0
- package/dist/src/batch-operations.d.ts.map +1 -0
- package/dist/src/batch-operations.js +339 -0
- package/dist/src/batch-operations.js.map +1 -0
- package/dist/src/config.d.ts +83 -0
- package/dist/src/config.d.ts.map +1 -0
- package/dist/src/config.js +176 -0
- package/dist/src/config.js.map +1 -0
- package/dist/src/context-engine.d.ts +45 -0
- package/dist/src/context-engine.d.ts.map +1 -0
- package/dist/src/context-engine.js +135 -0
- package/dist/src/context-engine.js.map +1 -0
- package/dist/src/debug-wrapper.d.ts +58 -0
- package/dist/src/debug-wrapper.d.ts.map +1 -0
- package/dist/src/debug-wrapper.js +285 -0
- package/dist/src/debug-wrapper.js.map +1 -0
- package/dist/src/index.d.ts +31 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/index.js +149 -0
- package/dist/src/index.js.map +1 -0
- package/dist/src/interactive-verifier.d.ts +26 -0
- package/dist/src/interactive-verifier.d.ts.map +1 -0
- package/dist/src/interactive-verifier.js +435 -0
- package/dist/src/interactive-verifier.js.map +1 -0
- package/dist/src/lessons.d.ts +59 -0
- package/dist/src/lessons.d.ts.map +1 -0
- package/dist/src/lessons.js +172 -0
- package/dist/src/lessons.js.map +1 -0
- package/dist/src/log-reader.d.ts +39 -0
- package/dist/src/log-reader.d.ts.map +1 -0
- package/dist/src/log-reader.js +291 -0
- package/dist/src/log-reader.js.map +1 -0
- package/dist/src/logger.d.ts +59 -0
- package/dist/src/logger.d.ts.map +1 -0
- package/dist/src/logger.js +328 -0
- package/dist/src/logger.js.map +1 -0
- package/dist/src/parallel-retrieval.d.ts +52 -0
- package/dist/src/parallel-retrieval.d.ts.map +1 -0
- package/dist/src/parallel-retrieval.js +309 -0
- package/dist/src/parallel-retrieval.js.map +1 -0
- package/dist/src/pattern-extractor.d.ts +30 -0
- package/dist/src/pattern-extractor.d.ts.map +1 -0
- package/dist/src/pattern-extractor.js +386 -0
- package/dist/src/pattern-extractor.js.map +1 -0
- package/dist/src/result-aggregator.d.ts +44 -0
- package/dist/src/result-aggregator.d.ts.map +1 -0
- package/dist/src/result-aggregator.js +315 -0
- package/dist/src/result-aggregator.js.map +1 -0
- package/dist/src/retrieval.d.ts +139 -0
- package/dist/src/retrieval.d.ts.map +1 -0
- package/dist/src/retrieval.js +724 -0
- package/dist/src/retrieval.js.map +1 -0
- package/dist/src/setup/auto-setup.d.ts +15 -0
- package/dist/src/setup/auto-setup.d.ts.map +1 -0
- package/dist/src/setup/auto-setup.js +157 -0
- package/dist/src/setup/auto-setup.js.map +1 -0
- package/dist/src/setup/configure-hooks.d.ts +8 -0
- package/dist/src/setup/configure-hooks.d.ts.map +1 -0
- package/dist/src/setup/configure-hooks.js +16 -0
- package/dist/src/setup/configure-hooks.js.map +1 -0
- package/dist/src/setup/create-slash-commands.d.ts +8 -0
- package/dist/src/setup/create-slash-commands.d.ts.map +1 -0
- package/dist/src/setup/create-slash-commands.js +101 -0
- package/dist/src/setup/create-slash-commands.js.map +1 -0
- package/dist/src/setup/index.d.ts +8 -0
- package/dist/src/setup/index.d.ts.map +1 -0
- package/dist/src/setup/index.js +17 -0
- package/dist/src/setup/index.js.map +1 -0
- package/dist/src/setup/inject-claude-md.d.ts +10 -0
- package/dist/src/setup/inject-claude-md.d.ts.map +1 -0
- package/dist/src/setup/inject-claude-md.js +150 -0
- package/dist/src/setup/inject-claude-md.js.map +1 -0
- package/dist/src/setup/uninstall.d.ts +22 -0
- package/dist/src/setup/uninstall.d.ts.map +1 -0
- package/dist/src/setup/uninstall.js +235 -0
- package/dist/src/setup/uninstall.js.map +1 -0
- package/dist/src/storage.d.ts +192 -0
- package/dist/src/storage.d.ts.map +1 -0
- package/dist/src/storage.js +1037 -0
- package/dist/src/storage.js.map +1 -0
- package/dist/src/string-similarity.d.ts +8 -0
- package/dist/src/string-similarity.d.ts.map +1 -0
- package/dist/src/string-similarity.js +57 -0
- package/dist/src/string-similarity.js.map +1 -0
- package/dist/src/traces/adapters/browser.d.ts +69 -0
- package/dist/src/traces/adapters/browser.d.ts.map +1 -0
- package/dist/src/traces/adapters/browser.js +280 -0
- package/dist/src/traces/adapters/browser.js.map +1 -0
- package/dist/src/traces/adapters/index.d.ts +23 -0
- package/dist/src/traces/adapters/index.d.ts.map +1 -0
- package/dist/src/traces/adapters/index.js +67 -0
- package/dist/src/traces/adapters/index.js.map +1 -0
- package/dist/src/traces/adapters/langchain.d.ts +42 -0
- package/dist/src/traces/adapters/langchain.d.ts.map +1 -0
- package/dist/src/traces/adapters/langchain.js +151 -0
- package/dist/src/traces/adapters/langchain.js.map +1 -0
- package/dist/src/traces/adapters/opentelemetry.d.ts +46 -0
- package/dist/src/traces/adapters/opentelemetry.d.ts.map +1 -0
- package/dist/src/traces/adapters/opentelemetry.js +164 -0
- package/dist/src/traces/adapters/opentelemetry.js.map +1 -0
- package/dist/src/traces/adapters/sentry.d.ts +58 -0
- package/dist/src/traces/adapters/sentry.d.ts.map +1 -0
- package/dist/src/traces/adapters/sentry.js +212 -0
- package/dist/src/traces/adapters/sentry.js.map +1 -0
- package/dist/src/traces/index.d.ts +10 -0
- package/dist/src/traces/index.d.ts.map +1 -0
- package/dist/src/traces/index.js +45 -0
- package/dist/src/traces/index.js.map +1 -0
- package/dist/src/traces/storage.d.ts +78 -0
- package/dist/src/traces/storage.d.ts.map +1 -0
- package/dist/src/traces/storage.js +399 -0
- package/dist/src/traces/storage.js.map +1 -0
- package/dist/src/traces/summarizer.d.ts +83 -0
- package/dist/src/traces/summarizer.d.ts.map +1 -0
- package/dist/src/traces/summarizer.js +247 -0
- package/dist/src/traces/summarizer.js.map +1 -0
- package/dist/src/traces/types.d.ts +365 -0
- package/dist/src/traces/types.d.ts.map +1 -0
- package/dist/src/traces/types.js +14 -0
- package/dist/src/traces/types.js.map +1 -0
- package/dist/src/types.d.ts +495 -0
- package/dist/src/types.d.ts.map +1 -0
- package/dist/src/types.js +27 -0
- package/dist/src/types.js.map +1 -0
- package/docs/agent-surface-policy.md +45 -0
- package/docs/memory-setup.md +226 -0
- package/hooks/_arch_scan_bg.py +88 -0
- package/hooks/_plugin_drift_check_bg.py +85 -0
- package/hooks/_session_start_lib.sh +42 -0
- package/hooks/git/pre-push +141 -0
- package/hooks/hooks.json +126 -0
- package/hooks/post-commit +30 -0
- package/hooks/pre-commit +29 -0
- package/hooks/pre-edit-apppulse.sh +6 -0
- package/hooks/pre-edit-architecture.sh +106 -0
- package/hooks/pre-edit-rally-point.sh +92 -0
- package/hooks/session-start-apppulse.sh +6 -0
- package/hooks/session-start-architecture.sh +10 -0
- package/hooks/session-start-git-hooks.sh +12 -0
- package/hooks/session-start-plugin-drift.sh +27 -0
- package/hooks/session-start-rally-point.sh +44 -0
- package/hooks/session-start-retrieval.sh +24 -0
- package/hooks/session-start-worktree-gc.sh +105 -0
- package/hooks/test_apppulse_hooks.sh +6 -0
- package/hooks/test_rally_point_hooks.sh +388 -0
- package/hooks/test_sec008_hooks.sh +66 -0
- package/package.json +111 -0
- package/scripts/README.md +301 -0
- package/scripts/_db_url.py +61 -0
- package/scripts/_paths.py +445 -0
- package/scripts/blm.py +162 -0
- package/scripts/blm_api.py +263 -0
- package/scripts/check_cache_sync.py +490 -0
- package/scripts/embed_backend.py +475 -0
- package/scripts/install_memory.py +556 -0
- package/scripts/lessons_index/__init__.py +77 -0
- package/scripts/lessons_index/__main__.py +135 -0
- package/scripts/lessons_index/ingest.py +288 -0
- package/scripts/lessons_index/query.py +285 -0
- package/scripts/lessons_index/schema.py +114 -0
- package/scripts/memory_context/__init__.py +610 -0
- package/scripts/memory_graph/__init__.py +393 -0
- package/scripts/project_resolver.py +172 -0
- package/scripts/prune_codex_plugin_cache.py +23 -0
- package/scripts/prune_plugin_cache.py +359 -0
- package/scripts/semantic_index/__init__.py +482 -0
- package/scripts/semantic_index/_bench_hybrid.py +175 -0
- package/scripts/semantic_index/backfill.py +263 -0
- package/scripts/semantic_index/hybrid.py +174 -0
- package/scripts/semantic_index/test_backfill.py +292 -0
- package/scripts/semantic_index/test_hybrid.py +541 -0
- package/scripts/sync_navgator_lessons.py +666 -0
- package/scripts/sync_plugin_cache.py +388 -0
- package/skills/agent-rally-point/SKILL.md +165 -0
- package/skills/agent-rally-watcher/SKILL.md +83 -0
- package/skills/api-registry-bridge/SKILL.md +59 -0
- package/skills/architecture/dead/SKILL.md +56 -0
- package/skills/architecture/impact/SKILL.md +88 -0
- package/skills/architecture/review/SKILL.md +227 -0
- package/skills/architecture/rules/SKILL.md +72 -0
- package/skills/architecture/scan/SKILL.md +79 -0
- package/skills/architecture/trace/SKILL.md +65 -0
- package/skills/attribution-standard/SKILL.md +122 -0
- package/skills/authentication/SKILL.md +81 -0
- package/skills/authentication/references/better-auth-magic-link.md +135 -0
- package/skills/authentication/references/better-auth-setup.md +224 -0
- package/skills/authentication/references/google-calendar-sync.md +278 -0
- package/skills/authentication/references/google-cloud-console.md +159 -0
- package/skills/authentication/references/google-geocoding-directions.md +126 -0
- package/skills/authentication/references/google-lessons-example-web-app.md +177 -0
- package/skills/authentication/references/google-maps.md +162 -0
- package/skills/authentication/references/google-oauth-setup.md +343 -0
- package/skills/authentication/references/google-places.md +173 -0
- package/skills/authentication/references/lessons-example-web-app-better-auth.md +126 -0
- package/skills/authentication/references/resend-email.md +227 -0
- package/skills/authentication/references/resend-otp-magic-link.md +153 -0
- package/skills/authentication/references/supabase-auth.md +172 -0
- package/skills/auto-decision-capture/SKILL.md +419 -0
- package/skills/build-loop/SKILL.md +516 -0
- package/skills/build-loop/detect-plugins.mjs +82 -0
- package/skills/build-loop/eval-guide.md +65 -0
- package/skills/build-loop/fallbacks.md +549 -0
- package/skills/build-loop/phases/fact-check.md +42 -0
- package/skills/build-loop/phases/ui-validation.md +267 -0
- package/skills/build-loop/references/apple-native-planning.md +439 -0
- package/skills/build-loop/references/capability-routing.md +181 -0
- package/skills/build-loop/references/codex-subagents.md +98 -0
- package/skills/build-loop/references/coordination.md +161 -0
- package/skills/build-loop/references/correction-aware-capture.md +177 -0
- package/skills/build-loop/references/independent-auditor.md +72 -0
- package/skills/build-loop/references/intent-capability-pack.md +170 -0
- package/skills/build-loop/references/intent-exploration-prompts.md +96 -0
- package/skills/build-loop/references/leadership.md +72 -0
- package/skills/build-loop/references/memory.md +284 -0
- package/skills/build-loop/references/modular-systems-pack.md +96 -0
- package/skills/build-loop/references/output-style.md +129 -0
- package/skills/build-loop/references/pay-it-forward-arch.md +98 -0
- package/skills/build-loop/references/phase-1-assess.md +218 -0
- package/skills/build-loop/references/phase-2-plan.md +77 -0
- package/skills/build-loop/references/phase-3-execute.md +47 -0
- package/skills/build-loop/references/phase-4-review.md +310 -0
- package/skills/build-loop/references/phase-5-iterate.md +71 -0
- package/skills/build-loop/references/phase-6-learn.md +56 -0
- package/skills/build-loop/references/recent-design-structures.md +274 -0
- package/skills/build-loop/references/refactor-history/ASSESSMENT.md +85 -0
- package/skills/build-loop/references/refactor-history/STANDALONE_TEST_RUN.md +149 -0
- package/skills/build-loop/references/refactor-history/scenarios/01-simple-bugfix.md +32 -0
- package/skills/build-loop/references/refactor-history/scenarios/02-ui-build-with-iteration.md +48 -0
- package/skills/build-loop/references/refactor-history/scenarios/03-multi-failure-escalation.md +60 -0
- package/skills/build-loop/references/refactor-history/scenarios/04-ui-build-ibr-absent.md +51 -0
- package/skills/build-loop/references/refactor-history/scenarios/05-refactor-navgator-absent.md +71 -0
- package/skills/build-loop/references/refactor-history/scenarios/06-recurring-bug-debugger-absent.md +52 -0
- package/skills/build-loop/references/refactor-history/trace-comparison.md +202 -0
- package/skills/build-loop/references/self-recursive-dev.md +77 -0
- package/skills/build-loop/references/self-review.md +232 -0
- package/skills/build-loop/references/ui-io-contract.md +116 -0
- package/skills/build-loop/scanners/audit-design-rules.mjs +476 -0
- package/skills/build-loop/scanners/require-visual-evidence.mjs +239 -0
- package/skills/build-loop/templates/backlog-item.md +35 -0
- package/skills/build-loop/templates/codex-worker-prompt.md +89 -0
- package/skills/build-loop/templates/ui-subagent-prompt.md +179 -0
- package/skills/build-loop/templates/ux-fix-plan.md +40 -0
- package/skills/building-with-deepagents/SKILL.md +195 -0
- package/skills/building-with-deepagents/references/anti-patterns.md +141 -0
- package/skills/building-with-deepagents/references/api-quick-reference.md +184 -0
- package/skills/capabilities/SKILL.md +91 -0
- package/skills/debug-loop/SKILL.md +278 -0
- package/skills/debug-loop/references/convergence-rules.md +145 -0
- package/skills/debug-loop/references/swiftui-macos-clunky-ui-debugger.html +823 -0
- package/skills/debugging/assess/SKILL.md +111 -0
- package/skills/debugging/debug-loop/SKILL.md +231 -0
- package/skills/debugging/memory/SKILL.md +147 -0
- package/skills/debugging/store/SKILL.md +153 -0
- package/skills/debugging-memory/SKILL.md +440 -0
- package/skills/debugging-memory/examples/incident-example.json +67 -0
- package/skills/debugging-memory/references/incident-documentation.md +280 -0
- package/skills/debugging-memory/references/ios-notification-alarm-playbook.md +300 -0
- package/skills/debugging-memory/references/pattern-extraction.md +163 -0
- package/skills/debugging-memory/references/subagent-integration.md +312 -0
- package/skills/defenseclaw-bridge/SKILL.md +156 -0
- package/skills/defenseclaw-bridge/references/dc-config-mapping.md +162 -0
- package/skills/defenseclaw-bridge/references/output-format.md +108 -0
- package/skills/handoff/SKILL.md +94 -0
- package/skills/ibr-bridge/SKILL.md +68 -0
- package/skills/knowledge/SKILL.md +127 -0
- package/skills/knowledge/references/recall-integration.md +83 -0
- package/skills/knowledge/templates/madr-minimal.md +56 -0
- package/skills/knowledge-review/SKILL.md +112 -0
- package/skills/logging-tracer/SKILL.md +202 -0
- package/skills/logging-tracer/references/log-analysis.md +128 -0
- package/skills/logging-tracer/references/stack-templates.md +274 -0
- package/skills/logging-tracer-bridge/SKILL.md +70 -0
- package/skills/mcp-builder/SKILL.md +278 -0
- package/skills/mcp-builder/references/mcp-security.md +106 -0
- package/skills/model-tiering/SKILL.md +216 -0
- package/skills/native-ax-driver/SKILL.md +220 -0
- package/skills/native-ax-driver/scripts/layout_fill.py +222 -0
- package/skills/native-ax-driver/scripts/native_driver.py +495 -0
- package/skills/native-ax-driver/swift/bl-ax-driver/Package.swift +20 -0
- package/skills/native-ax-driver/swift/bl-ax-driver/Sources/main.swift +542 -0
- package/skills/optimize/SKILL.md +202 -0
- package/skills/optimize/profiles.md +61 -0
- package/skills/plan-verify/SKILL.md +115 -0
- package/skills/plan-verify/test-fixtures/example-app-v20-findings.json +27 -0
- package/skills/plan-verify/test-fixtures/example-app-v20.md +42 -0
- package/skills/plan-verify/test-fixtures/example-app-v22-findings.json +15 -0
- package/skills/plan-verify/test-fixtures/example-app-v22.md +1608 -0
- package/skills/plan-verify/test-fixtures/unrelated-good-plan-findings.json +15 -0
- package/skills/plan-verify/test-fixtures/unrelated-good-plan.md +55 -0
- package/skills/plugin-builder/SKILL.md +329 -0
- package/skills/plugin-builder/references/authoritative-sources.md +104 -0
- package/skills/plugin-builder/references/build-loop-phase-guidance.md +94 -0
- package/skills/plugin-builder/references/components-guide.md +221 -0
- package/skills/plugin-builder/references/distribution.md +317 -0
- package/skills/plugin-builder/references/dual-host-claude-codex.md +220 -0
- package/skills/plugin-builder/references/hooks-reference.md +210 -0
- package/skills/plugin-builder/references/manifest-schema.md +111 -0
- package/skills/plugin-builder/references/plugin-hygiene-lessons.md +307 -0
- package/skills/plugin-tests/SKILL.md +94 -0
- package/skills/prd-bridge/SKILL.md +135 -0
- package/skills/research/SKILL.md +80 -0
- package/skills/security-methodology/SKILL.md +105 -0
- package/skills/security-methodology/references/cross-source-matrix.md +77 -0
- package/skills/security-methodology/references/mitre-atlas-starter.md +83 -0
- package/skills/security-methodology/references/nist-600-1-mapping.md +119 -0
- package/skills/security-methodology/references/owasp-agentic-top-10.md +157 -0
- package/skills/security-methodology/references/owasp-llm-top-10.md +144 -0
- package/skills/security-methodology/references/owasp-web-top-10.md +65 -0
- package/skills/self-improve/SKILL.md +298 -0
- package/skills/spec-writing/SKILL.md +548 -0
- package/skills/spec-writing/scripts/check_checklist.py +478 -0
- package/skills/sync-skills/SKILL.md +132 -0
- package/skills/telemetry/SKILL.md +66 -0
- package/skills/ui-design/SKILL.md +75 -0
- package/skills/ui-design/references/design-patterns-multi.md +165 -0
- package/skills/ui-design/references/design-preferences-from-owned-apps.md +150 -0
- package/skills/ui-design/references/evidence-capture-policy.md +55 -0
- package/skills/ui-design/references/ui-guidance-sources.md +330 -0
- package/skills/ui-design/references/universal-design-principles.alt.md +182 -0
- package/skills/ui-design/references/universal-design-principles.md +419 -0
- package/templates/memory/MEMORY.md.template +55 -0
- package/templates/memory/constitution.md.template +64 -0
- package/templates/memory/manifest.json +47 -0
|
@@ -0,0 +1,419 @@
|
|
|
1
|
+
<!-- SPDX-FileCopyrightText: 2025-2026 Tyrone Ross, Jr <46267523+tyroneross@users.noreply.github.com> | SPDX-License-Identifier: Apache-2.0 -->
|
|
2
|
+
|
|
3
|
+
# Universal Communication And Design Principles
|
|
4
|
+
|
|
5
|
+
Canonical cross-medium communication and experience doctrine.
|
|
6
|
+
|
|
7
|
+
Use this file when an artifact must communicate clearly, guide a user through
|
|
8
|
+
an experience, or expose a changing process, whether the output is app UI,
|
|
9
|
+
writing, images, native screens, slides, Word documents, Google Docs, PDFs,
|
|
10
|
+
spreadsheets, reports, dashboards, charts, version-control flow, deployment
|
|
11
|
+
flow, sync process, automation, or design handoff.
|
|
12
|
+
|
|
13
|
+
Build Loop is the current runtime home for this file, but the principles are
|
|
14
|
+
not Build Loop-specific. Medium-specific skills still own their exact
|
|
15
|
+
primitives. This file owns the principles that should not change across media.
|
|
16
|
+
|
|
17
|
+
## How To Use
|
|
18
|
+
|
|
19
|
+
1. Start with the audience, task, decision, purpose, current state, target end
|
|
20
|
+
state, route, and risk.
|
|
21
|
+
2. Apply the universal principles below.
|
|
22
|
+
3. Load the medium-specific adapter after that:
|
|
23
|
+
- App UI: `build-loop:ui-design`, Calm Precision, UI input/output contract.
|
|
24
|
+
- Writing: pyramid, storyline, voice, editing, and review skills.
|
|
25
|
+
- Images/media: image brief, composition, accessibility, and provenance.
|
|
26
|
+
- Decks: storyline, pyramid, deck-builder, presentation QA.
|
|
27
|
+
- Documents: document preset, form factor selection, render QA.
|
|
28
|
+
- Reports/spreadsheets: decision-first tables, charts, source discipline.
|
|
29
|
+
- Operational workflows: version control, builds, deploys, sync, migration,
|
|
30
|
+
automation, and any process where state changes over time.
|
|
31
|
+
4. Record any deliberate exception in the active contract, plan, or artifact
|
|
32
|
+
notes. Exceptions should name the reason, not just the visual preference.
|
|
33
|
+
|
|
34
|
+
Core rule: medium changes primitives; principles stay stable.
|
|
35
|
+
|
|
36
|
+
## Universal Versus Specific Guidance
|
|
37
|
+
|
|
38
|
+
Use a three-layer split:
|
|
39
|
+
|
|
40
|
+
1. **Universal principles**: rules that apply to every communication,
|
|
41
|
+
artifact, interface, or process. Examples: orient the user, show purpose and
|
|
42
|
+
end state, preserve continuity, expose state changes, support recovery, avoid
|
|
43
|
+
fake proof, and verify the real output.
|
|
44
|
+
2. **Routers**: classify the use case and narrow the option space before
|
|
45
|
+
selecting a specific skill or reference. Examples: app archetype routers,
|
|
46
|
+
web archetype routers, document archetypes, deck profiles, and operational
|
|
47
|
+
workflow states.
|
|
48
|
+
3. **Domain skills or references**: provide the medium-specific primitive.
|
|
49
|
+
Examples: a side drawer in UI, a transition phrase in writing, a slide action
|
|
50
|
+
title in a deck, a Word style in a document, a chart type in data, or a commit
|
|
51
|
+
SHA in version control.
|
|
52
|
+
|
|
53
|
+
The Calm Precision router is the model to follow: classify the archetype first,
|
|
54
|
+
apply defaults, route to domain files only when needed, ask only at high-impact
|
|
55
|
+
choice points, and flag choices made without asking. It does not make every
|
|
56
|
+
component option universal. It separates the stable decision process from the
|
|
57
|
+
specific UI primitive.
|
|
58
|
+
|
|
59
|
+
Conflict order should generally be:
|
|
60
|
+
|
|
61
|
+
1. Explicit user requirement.
|
|
62
|
+
2. Current project or artifact contract.
|
|
63
|
+
3. Router classification and archetype defaults.
|
|
64
|
+
4. Domain skill or reference.
|
|
65
|
+
5. Universal principles as the floor that should not be violated without a
|
|
66
|
+
named exception.
|
|
67
|
+
|
|
68
|
+
## Universal Experience Model
|
|
69
|
+
|
|
70
|
+
Every communication or interface has the same underlying job:
|
|
71
|
+
|
|
72
|
+
1. **Orient**: make clear where the user or reader is, why this matters, and
|
|
73
|
+
what frame they are operating in.
|
|
74
|
+
2. **Focus**: make the primary message, object, decision, state, or action
|
|
75
|
+
obvious.
|
|
76
|
+
3. **Connect**: show how the current piece relates to the previous and next
|
|
77
|
+
piece. Avoid abrupt jumps unless the break is intentional and labeled.
|
|
78
|
+
4. **Progress**: make movement visible: through a story, task, workflow,
|
|
79
|
+
argument, form, deck, image, or system state.
|
|
80
|
+
5. **Recover**: when something fails, explain what happened, preserve context,
|
|
81
|
+
and give a clear next step.
|
|
82
|
+
6. **Resolve**: end with a conclusion, action, saved state, handoff, source, or
|
|
83
|
+
intentional stopping point.
|
|
84
|
+
|
|
85
|
+
This is why transitions matter across media. In writing, continuity may be a
|
|
86
|
+
transition phrase, topic sentence, repeated term, or paragraph bridge. In UI, it
|
|
87
|
+
may be a breadcrumb, progress stepper, preserved scroll position, side drawer,
|
|
88
|
+
bottom sheet, inline expansion, or motion that shows where an object came from.
|
|
89
|
+
In an image, it may be visual path, foreground/background staging, captioning,
|
|
90
|
+
or annotation. In version control or deployment, it may be branch state, current
|
|
91
|
+
diff, checkpoint, pending test, target commit, rollback path, or release status.
|
|
92
|
+
The primitive changes; the continuity requirement does not.
|
|
93
|
+
|
|
94
|
+
## Non-Negotiables
|
|
95
|
+
|
|
96
|
+
These apply to every artifact produced or reviewed through this system.
|
|
97
|
+
|
|
98
|
+
1. **Purpose before presentation**: name the user, job, context, time budget,
|
|
99
|
+
decision, and output before choosing layout, style, or tool.
|
|
100
|
+
2. **Answer first**: the governing thought, recommendation, or primary state
|
|
101
|
+
should be visible early. Background supports the answer; it should not bury
|
|
102
|
+
it.
|
|
103
|
+
3. **One primary focus**: each viewport, slide, section, page, screen, table, or
|
|
104
|
+
chart needs one main point. Competing primaries are a design failure.
|
|
105
|
+
4. **Wayfinding is mandatory**: the user or reader should know where they are,
|
|
106
|
+
what changed, what came before, what comes next, and how to get back or
|
|
107
|
+
continue.
|
|
108
|
+
5. **Process visibility**: if something can change rapidly, update in stages, or
|
|
109
|
+
affect user trust, expose the purpose, current state, target end state,
|
|
110
|
+
route, checkpoint, owner, and recovery path.
|
|
111
|
+
6. **MECE structure**: peer ideas should be the same kind of thing, not
|
|
112
|
+
overlapping, and collectively sufficient for the parent claim.
|
|
113
|
+
7. **Reader question discipline**: every section, component, slide, or visual
|
|
114
|
+
should answer the question raised by the level above it: why, how, or why do
|
|
115
|
+
you say that.
|
|
116
|
+
8. **Continuity over abruptness**: transitions should preserve orientation.
|
|
117
|
+
Writing needs connective tissue; UI needs navigational continuity; images
|
|
118
|
+
need visual path; decks and docs need section logic and repeated landmarks;
|
|
119
|
+
operational workflows need checkpoints and status deltas.
|
|
120
|
+
9. **Hierarchy before decoration**: use position, grouping, type scale, weight,
|
|
121
|
+
contrast, spacing, and reading order before color effects, borders, shadows,
|
|
122
|
+
backgrounds, or motion.
|
|
123
|
+
10. **Group, then separate**: use proximity, shared regions, alignment, and
|
|
124
|
+
dividers to show relationships. Avoid isolated boxes for every item.
|
|
125
|
+
11. **Content over chrome**: visual furniture must earn its place. Use whitespace
|
|
126
|
+
as structure, not as empty area to fill.
|
|
127
|
+
12. **Progressive disclosure**: expose what the user needs now. Hide secondary
|
|
128
|
+
detail behind clear, shallow disclosure. Do not stack nested drawers, modals,
|
|
129
|
+
appendices, or overloaded control panels without a strong reason.
|
|
130
|
+
13. **Action weight matches importance**: primary actions, asks, or conclusions
|
|
131
|
+
get the strongest visual weight. Secondary actions stay visibly secondary.
|
|
132
|
+
14. **Semantic color only**: color should encode meaning, emphasis, category, or
|
|
133
|
+
status. Decorative color is cut when it competes with comprehension.
|
|
134
|
+
15. **Functional integrity**: anything that looks interactive must work. Any
|
|
135
|
+
data, metric, example, claim, or visual proof must be real, sourced, clearly
|
|
136
|
+
labeled as illustrative, or omitted.
|
|
137
|
+
16. **Graceful degradation**: when the preferred path fails, the artifact should
|
|
138
|
+
still be usable. Explain what happened, what remains safe, what the user can
|
|
139
|
+
do next, and what context was preserved.
|
|
140
|
+
17. **Native primitives over visual fakes**: use the medium's semantic
|
|
141
|
+
structures: UI components, PowerPoint bullets/placeholders, Word styles and
|
|
142
|
+
numbering, table geometry, chart objects, alt text, headings, and source
|
|
143
|
+
notes. Do not simulate them with text glyphs, manual spacing, screenshots, or
|
|
144
|
+
decorative overlays when native structure exists.
|
|
145
|
+
18. **Accessibility is design quality**: contrast, readable type, focus order,
|
|
146
|
+
keyboard path, touch targets, alt text, labels, semantic structure, and
|
|
147
|
+
non-color cues are baseline requirements.
|
|
148
|
+
19. **State and recovery are part of the design**: loading, empty, error,
|
|
149
|
+
permission, progress, saved, stale, and source-scope states need explicit
|
|
150
|
+
treatment when they affect user decisions.
|
|
151
|
+
20. **Fit form to information**: choose prose, bullets, table, chart, diagram,
|
|
152
|
+
checklist, form, callout, or slide rhythm based on the reading task. Do not
|
|
153
|
+
force tables for prose, charts for single numbers, cards for everything, or
|
|
154
|
+
dense paragraphs where a checklist is the real interface.
|
|
155
|
+
21. **Inherit before overriding**: preserve project tokens, component grammar,
|
|
156
|
+
document presets, slide templates, and brand systems unless the task requires
|
|
157
|
+
a named deviation.
|
|
158
|
+
22. **Verify the rendered artifact**: inspect the real output surface. For UI,
|
|
159
|
+
use screenshots and interaction checks. For decks and docs, render pages or
|
|
160
|
+
slides and inspect for overlap, clipping, drift, broken hierarchy, and
|
|
161
|
+
unreadable density.
|
|
162
|
+
|
|
163
|
+
## Medium Adapters
|
|
164
|
+
|
|
165
|
+
Medium-specific skills should adapt the universal principles this way:
|
|
166
|
+
|
|
167
|
+
| Medium | Native continuity | Native recovery | Native proof |
|
|
168
|
+
|---|---|---|---|
|
|
169
|
+
| Writing | Transition phrases, topic sentences, repeated terms, parallel structure, SCQA, section headings | Clarify uncertainty, state assumptions, preserve reader context, show what can be concluded now | Claims, citations, examples, line of reasoning |
|
|
170
|
+
| Images/media | Visual path, framing, focal hierarchy, captions, annotations, before/after pairing | Alt text, fallback caption, provenance, clear label if illustrative | Source image, generation prompt, asset provenance, labels |
|
|
171
|
+
| App UI | Breadcrumbs, nav bars, preserved state, inline expansion, side drawers, bottom sheets, progress steppers, continuity motion | Loading, empty, error, stale, permission, offline, retry, saved-state, partial-result, and fallback states | Real data, working handlers, source labels, logs, screenshots, interaction tests |
|
|
172
|
+
| Decks | Claim spine, action titles, section dividers, agenda markers, repeated footer/source grammar | Mark missing inputs, use appendix/notes, preserve template rhythm, state caveats | Source footnotes, proof objects, rendered slide QA |
|
|
173
|
+
| Documents/reports | Heading ladder, lead paragraphs, captions, cross-references, repeated table headers, page furniture | Explain constraints, preserve edit trail, route unresolved items to notes/appendix | Citations, styles, numbering, table geometry, rendered page QA |
|
|
174
|
+
| Spreadsheets/data | Frozen headers, stable dimensions/measures, filters, tabs, summary-to-detail flow | Formula warnings, missing-data treatment, source flags, clear assumptions | Formulas, source lineage, audit checks, charts/tables tied to decisions |
|
|
175
|
+
| Operational workflows | Purpose, start state, target end state, current step, checkpoint, owner, status delta, next action | Rollback path, retry path, partial-completion note, blocked reason, safe stopping point | Git status, diff, commit SHA, test result, deployment target, migration log, sync record |
|
|
176
|
+
|
|
177
|
+
## Medium-Specific Direction
|
|
178
|
+
|
|
179
|
+
### App UI
|
|
180
|
+
|
|
181
|
+
Build around the UI input/output contract: data taxonomy, operations, component
|
|
182
|
+
mapping, states, validation/security ownership, and traceability. Calm Precision
|
|
183
|
+
is the default structural doctrine. Selected structures and style modes are
|
|
184
|
+
allowed only after product, workflow, data shape, platform, and risk are known.
|
|
185
|
+
|
|
186
|
+
#### Calm Precision Principles And Foundations
|
|
187
|
+
|
|
188
|
+
Calm Precision has two layers:
|
|
189
|
+
|
|
190
|
+
1. **Principles**: what the interface must do.
|
|
191
|
+
2. **Perceptual-science foundations**: why the rule holds.
|
|
192
|
+
|
|
193
|
+
Use the foundations as audit anchors. A UI choice should be defensible by a
|
|
194
|
+
named law, theory, or perceptual model rather than by taste.
|
|
195
|
+
|
|
196
|
+
Rows 1-13 mirror Calm Precision 6.4.1; row 14 is the current 6.4.2 Task Economy
|
|
197
|
+
extension.
|
|
198
|
+
|
|
199
|
+
| # | Principle | Foundation | Audit question |
|
|
200
|
+
|---|---|---|---|
|
|
201
|
+
| 1 | Group, Don't Isolate | Gestalt Proximity + Common Region | Are related elements visually grouped before they are separated? |
|
|
202
|
+
| 2 | Size = Importance | Fitts' Law | Does target size match action importance and input precision? |
|
|
203
|
+
| 3 | Three-Line Hierarchy + Page Cascade | Cognitive Load + Information Scent + Attentional Cascade | Can the eye recover L1 to L4 order in one pass? |
|
|
204
|
+
| 4 | Progressive Disclosure | Hick's Law | Are secondary choices hidden until they are useful? |
|
|
205
|
+
| 5 | Text Over Decoration | Signal-to-Noise Ratio | Does the element communicate through words, weight, and hierarchy before decoration? |
|
|
206
|
+
| 6 | Content Over Chrome | Information Density | Does content earn most of the surface area? |
|
|
207
|
+
| 7 | Natural Language | Mental Models | Does the copy match the user's vocabulary and expected task model? |
|
|
208
|
+
| 8 | Rhythm & Alignment | Gestalt Continuity | Do spacing, baselines, and alignment preserve visual flow? |
|
|
209
|
+
| 9 | Functional Integrity | Affordance Theory + Data Integrity | Does every interactive-looking element work against real data or a clearly labeled non-production state? |
|
|
210
|
+
| 10 | Content Resilience + Error Strategy | Fault Tolerance + Dual-Coding + Cooperative Principle | Does the UI handle missing, malformed, or failed data with honest recovery copy? |
|
|
211
|
+
| 11 | Mobile-First Structure | Responsive Design | Does the base layout work on mobile before breakpoints add complexity? |
|
|
212
|
+
| 12 | Purposeful Motion | Temporal Gestalt + Affordance Theory | Does motion explain state, origin, confirmation, or relationship? |
|
|
213
|
+
| 13 | Voice Calibration | Mental Models + Pragmatic Inference | Does minimal copy imply the right action and state? |
|
|
214
|
+
| 14 | Task Economy | Cognitive Load | Is there one primary action per screen and no unvalidated UI? |
|
|
215
|
+
|
|
216
|
+
Named foundations to apply when explaining or reviewing a UI decision:
|
|
217
|
+
|
|
218
|
+
- **Gestalt**: proximity, common region, and continuity explain grouping,
|
|
219
|
+
alignment, and visual relationship.
|
|
220
|
+
- **Fitts' Law**: target size and distance drive speed; use it for buttons,
|
|
221
|
+
touch targets, and action placement.
|
|
222
|
+
- **Hick's Law**: visible choice count increases decision time; use it for
|
|
223
|
+
progressive disclosure. Do not call this Higgs; Higgs belongs to physics.
|
|
224
|
+
- **Cognitive Load**: working memory is limited; use it for hierarchy, Task
|
|
225
|
+
Economy, and reducing competing primaries.
|
|
226
|
+
- **Signal-to-Noise Ratio**: decoration must improve comprehension or be cut.
|
|
227
|
+
- **Affordance Theory**: appearance must match interactivity.
|
|
228
|
+
- **Temporal Gestalt**: motion communicates relationship across time.
|
|
229
|
+
- **Dual-Coding Theory**: pair text and visual encoding; never rely on color
|
|
230
|
+
alone.
|
|
231
|
+
- **Pragmatic Inference**: users infer meaning from short labels and minimal
|
|
232
|
+
copy.
|
|
233
|
+
- **Attentional Cascade**: users read through predictable priority levels.
|
|
234
|
+
- **Cooperative Principle**: empty, error, and limitation copy should be honest,
|
|
235
|
+
relevant, and actionable.
|
|
236
|
+
- **Fault Tolerance**: variable or missing data should degrade into clarity.
|
|
237
|
+
- **Information Scent and Density**: the interface should make the useful path
|
|
238
|
+
obvious and keep content dominant over chrome.
|
|
239
|
+
|
|
240
|
+
UI continuity should keep the user oriented inside the same work surface where
|
|
241
|
+
possible: side drawers for contextual detail, bottom sheets for mobile tasks,
|
|
242
|
+
inline expansion for local detail, persistent navigation for route changes,
|
|
243
|
+
breadcrumbs for deep paths, and motion only when it explains origin,
|
|
244
|
+
destination, or state change. Avoid abrupt screen changes that make the user
|
|
245
|
+
reconstruct where they are.
|
|
246
|
+
|
|
247
|
+
UI degradation should fail softly: preserve input, show what happened, explain
|
|
248
|
+
whether the issue is data, permission, network, validation, or system failure,
|
|
249
|
+
offer retry or fallback, and make saved/unsaved state explicit.
|
|
250
|
+
|
|
251
|
+
### Writing
|
|
252
|
+
|
|
253
|
+
Writing should preserve the reader's place in the argument. Use transition
|
|
254
|
+
phrases, parallel sentence structure, callbacks to prior terms, and section
|
|
255
|
+
openers that tell the reader how the next point relates to the last one. Do not
|
|
256
|
+
stack facts without connective tissue.
|
|
257
|
+
|
|
258
|
+
When the evidence is incomplete, do not fake certainty. State the conclusion
|
|
259
|
+
that is supported, the assumption or missing input, and the next step needed to
|
|
260
|
+
resolve it.
|
|
261
|
+
|
|
262
|
+
### Images And Media
|
|
263
|
+
|
|
264
|
+
Images should guide the eye through a clear visual path. The main subject,
|
|
265
|
+
context, and intended interpretation should be recoverable without hidden
|
|
266
|
+
explanation. Captions, alt text, annotations, and provenance are part of the
|
|
267
|
+
artifact when they affect interpretation.
|
|
268
|
+
|
|
269
|
+
Generated or edited images should be labeled by role: inspiration, concept,
|
|
270
|
+
reference, illustration, or production asset. Do not let an illustrative image
|
|
271
|
+
look like factual proof.
|
|
272
|
+
|
|
273
|
+
### Decks
|
|
274
|
+
|
|
275
|
+
Storyline precedes rendering. The deck needs a governing thought, MECE key line,
|
|
276
|
+
action titles, and proof objects. At thumbnail size, the contact sheet should
|
|
277
|
+
show a coherent system and distinct slide rhythms. At readable size, every
|
|
278
|
+
slide should have a claim, evidence, and no filler. Native PowerPoint primitives
|
|
279
|
+
and template inheritance are preferred over one-off visual patches.
|
|
280
|
+
|
|
281
|
+
### Documents
|
|
282
|
+
|
|
283
|
+
Pick the document archetype before drafting: memo, brief, SOP, workflow, form,
|
|
284
|
+
proposal, manual, or report. Resolve a preset into exact page, type, paragraph,
|
|
285
|
+
list, table, callout, header, and footer tokens. Use form factors deliberately:
|
|
286
|
+
prose for explanation, steps for sequence, checklists for acceptance, tables for
|
|
287
|
+
shared fields, callouts for decisions or constraints. Render and inspect pages
|
|
288
|
+
before delivery.
|
|
289
|
+
|
|
290
|
+
### Reports, Spreadsheets, And Data Views
|
|
291
|
+
|
|
292
|
+
Data presentation is decision-first. Chart titles state the conclusion. Tables
|
|
293
|
+
need clear dimensions, measures, labels, units, dates, and source lineage. Use a
|
|
294
|
+
chart only when it beats text, and use a table only when row/column comparison
|
|
295
|
+
is the real task. Every number should be sourced, derived transparently, or
|
|
296
|
+
clearly labeled as illustrative.
|
|
297
|
+
|
|
298
|
+
### Operational Workflows
|
|
299
|
+
|
|
300
|
+
Operational workflows include version control, branching, commits, builds,
|
|
301
|
+
deployments, migrations, memory sync, plugin installs, automations, and any
|
|
302
|
+
process where state changes quickly or the user could lose track of the path.
|
|
303
|
+
|
|
304
|
+
Before or during the workflow, make these visible:
|
|
305
|
+
|
|
306
|
+
- Purpose: why this process is running.
|
|
307
|
+
- Start state: current branch, dirty files, current version, current artifact,
|
|
308
|
+
current data state, or current deployment target.
|
|
309
|
+
- Target end state: commit created, tests passed, PR opened, deploy verified,
|
|
310
|
+
memory updated, migration complete, or automation active.
|
|
311
|
+
- Route: the steps that will get from start to target.
|
|
312
|
+
- Current step: what is happening now.
|
|
313
|
+
- Checkpoints: tests, review gates, commits, rendered previews, backups,
|
|
314
|
+
snapshots, or approval gates.
|
|
315
|
+
- Recovery: rollback, retry, pause point, safe stop, or what remains unchanged.
|
|
316
|
+
|
|
317
|
+
The user should never have to infer whether a process is still in progress,
|
|
318
|
+
safe to interrupt, partially complete, blocked, or finished.
|
|
319
|
+
|
|
320
|
+
## Graceful Degradation And Recovery
|
|
321
|
+
|
|
322
|
+
When something does not work as expected, the user experience should degrade
|
|
323
|
+
into clarity, not harshness.
|
|
324
|
+
|
|
325
|
+
Every failure or limitation should answer:
|
|
326
|
+
|
|
327
|
+
1. What happened?
|
|
328
|
+
2. Why does it matter to the user or reader?
|
|
329
|
+
3. What state was preserved?
|
|
330
|
+
4. What can they do now?
|
|
331
|
+
5. What happens next if they retry, continue, or stop?
|
|
332
|
+
|
|
333
|
+
Examples:
|
|
334
|
+
|
|
335
|
+
- Writing: "The source does not support that claim yet; the current supported
|
|
336
|
+
conclusion is X, and Y remains an assumption."
|
|
337
|
+
- UI: "The data failed to refresh. The last saved version is still visible. Try
|
|
338
|
+
again, switch source, or continue with cached data."
|
|
339
|
+
- Version control: "Commit failed because tests did not pass. No files were
|
|
340
|
+
reverted. Current branch and staged files are unchanged; fix the failing test,
|
|
341
|
+
unstage, or stop here."
|
|
342
|
+
- Deployment: "Preview deploy succeeded but production is blocked pending
|
|
343
|
+
approval. The reviewed artifact is available at X; production has not changed."
|
|
344
|
+
- Deck: "Metric unavailable from public source; keep the claim qualitative or
|
|
345
|
+
move the unsupported number to a research note."
|
|
346
|
+
- Document: "The render check failed, so structural edits are complete but
|
|
347
|
+
visual layout is unverified."
|
|
348
|
+
- Image: "Generated concept only; do not treat text, labels, logos, or factual
|
|
349
|
+
objects inside the image as verified."
|
|
350
|
+
|
|
351
|
+
Recovery should preserve context wherever possible: user input, scroll position,
|
|
352
|
+
draft text, selected filters, slide template, document style, current section,
|
|
353
|
+
source notes, and the user's sense of place in the story.
|
|
354
|
+
|
|
355
|
+
## Strict Versus Flexible
|
|
356
|
+
|
|
357
|
+
Strict:
|
|
358
|
+
|
|
359
|
+
- The artifact must have a named audience, job, and output.
|
|
360
|
+
- The governing thought or primary state must be clear.
|
|
361
|
+
- The user or reader must be oriented in the current state and next step.
|
|
362
|
+
- Rapidly changing workflows must show purpose, start state, target end state,
|
|
363
|
+
route, checkpoint, and safe stop.
|
|
364
|
+
- Transitions must preserve continuity or intentionally mark a break.
|
|
365
|
+
- Peers must be same-kind and logically ordered.
|
|
366
|
+
- Claims, numbers, and data-bearing visuals need provenance.
|
|
367
|
+
- Interactive controls and generated outputs must be functional or clearly
|
|
368
|
+
labeled as non-production.
|
|
369
|
+
- Degraded states must explain what happened and how to recover.
|
|
370
|
+
- Accessibility and visual QA are required before declaring the artifact done.
|
|
371
|
+
- Medium primitives must be semantic, not visual fakes.
|
|
372
|
+
|
|
373
|
+
Flexible:
|
|
374
|
+
|
|
375
|
+
- Visual style, mood, density, and surface treatment.
|
|
376
|
+
- Whether the structure is dashboard, narrative, wizard, ledger, canvas, memo,
|
|
377
|
+
appendix, or slide sequence.
|
|
378
|
+
- The transition primitive: phrase, heading, animation, drawer, sheet,
|
|
379
|
+
caption, breadcrumb, section divider, or data drilldown.
|
|
380
|
+
- The recovery primitive: inline message, note, fallback, retry, appendix,
|
|
381
|
+
caveat, cached result, or alternative route.
|
|
382
|
+
- The process primitive: status line, checklist, branch summary, progress
|
|
383
|
+
marker, run log, deploy URL, commit SHA, migration checkpoint, or sync record.
|
|
384
|
+
- Exact token palette, typography family, illustration style, and layout rhythm
|
|
385
|
+
when a project has no existing design system.
|
|
386
|
+
- How much polish is justified by audience, artifact lifespan, and risk.
|
|
387
|
+
- Whether to use a recent design structure, project-local convention, template,
|
|
388
|
+
or a new fit-for-purpose direction.
|
|
389
|
+
|
|
390
|
+
## Source Anchors
|
|
391
|
+
|
|
392
|
+
This file synthesizes rules from these local sources. Use them for deeper
|
|
393
|
+
medium-specific execution.
|
|
394
|
+
|
|
395
|
+
| Source | What it contributes |
|
|
396
|
+
|---|---|
|
|
397
|
+
| `calm-precision/SKILL.md` | Cognitive predictability, grouping, hierarchy, disclosure, action weight, state/error rules, functional integrity |
|
|
398
|
+
| `calm-precision-v1-1/0_Router.md` | Router pattern: classify archetype, apply defaults, route to domain files, ask on high-impact choices, flag decisions |
|
|
399
|
+
| `calm-precision-v1-1/1_Navigation_Structure.md` | Task economy, step counting, one primary action, navigation continuity, transition semantics |
|
|
400
|
+
| `calm-precision-v1-1/5_Motion_States_Identity.md` | Purposeful motion, loading states by wait time, empty/error-state context matching, voice calibration |
|
|
401
|
+
| `build-loop/skills/ui-design/references/ui-guidance-sources.md` | Build Loop design source map and runtime routing |
|
|
402
|
+
| `interface-built-right/references/web-design/0_router.md` | Web archetypes, density defaults, validation-focus risks by product surface |
|
|
403
|
+
| `interface-built-right/references/ios-design/0_router.md` | iOS archetype router and domain-reference split |
|
|
404
|
+
| `interface-built-right/.codex-plugin/skills/ui-ux-guidance/SKILL.md` | Compact IBR guidance order, target roles, imagegen gates, interaction states, validation contract |
|
|
405
|
+
| `ui-guidance/cross-platform-design-patterns.md` | Cross-platform foundational rules, mode selection, content-to-chrome, motion, status, responsive structure |
|
|
406
|
+
| `ui-guidance/data-visualization-patterns.md` | Decision-first data, chart-title discipline, figure-ground contrast, direct labeling, source attribution |
|
|
407
|
+
| `mockup-gallery/COMMON.md` | Mockup state model, scratch-first lifecycle, selection/implementation tracking, rating semantics |
|
|
408
|
+
| `mockup-gallery/skills/mockup-review/SKILL.md` | Scratch-first Codex flow, approved-target guardrails, imagegen assist boundaries |
|
|
409
|
+
| `vault/outputs/drafts/2026-05-10-ui-preferences-mobile-first-web-apps-aggregate.md` | Durable mobile-first and desktop-expansion UI preferences |
|
|
410
|
+
| `deck-builder/SKILL.md` (local Claude session snapshot; path redacted) | Storyline-first deck workflow, template inheritance, native PowerPoint primitives, drift-check linter |
|
|
411
|
+
| `calm-precision-pptx/SKILL.md` (local Claude session snapshot; path redacted) | Calm Precision for slides, action titles, one assertion per slide, semantic color, footnoted numeric claims |
|
|
412
|
+
| `storyline-builder/SKILL.md` (local Claude session snapshot; path redacted) | Audience brief, governing thought, SCQA, MECE key line, claim contextualization |
|
|
413
|
+
| `pyramid-principle-core/SKILL.md` (local Claude session snapshot; path redacted) | Pyramid grouping, vertical question/answer logic, horizontal deductive/inductive logic, SCQA |
|
|
414
|
+
| `pptx-design/SKILL.md` (local Claude session snapshot; path redacted) | Encoded deck design systems, density by purpose, type ladder, visual QA, factual audit |
|
|
415
|
+
| `docx/SKILL.md` (local Claude session snapshot; path redacted) | DOCX presets, form factor selection, real styles/numbering/tables, render-and-inspect workflow |
|
|
416
|
+
| `openai-primary-runtime/documents/.../skills/documents/SKILL.md` (Codex runtime snapshot; path redacted) | Codex document rendering contract, preset selection, Word/Google Docs structural QA |
|
|
417
|
+
| `openai-primary-runtime/presentations/.../skills/presentations/SKILL.md` (Codex runtime snapshot; path redacted) | Codex presentation workflow, claim spine, deck profiles, contact-sheet quality bar, source/asset provenance |
|
|
418
|
+
| `design-system/SKILL.md` (local Claude session snapshot; path redacted) | Tokens, components, patterns, documentation, versioning, and migration discipline |
|
|
419
|
+
| `accessibility-review/SKILL.md` (local Claude session snapshot; path redacted) | WCAG 2.1 AA baseline, contrast, keyboard, focus, touch targets, name/role/value |
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
# Global Memory — build-loop
|
|
2
|
+
|
|
3
|
+
Cross-project learnings. Project-level `projects/<slug>/MEMORY.md` overrides global on conflict.
|
|
4
|
+
|
|
5
|
+
This is a template — replace `(empty)` sections as you accumulate lessons.
|
|
6
|
+
|
|
7
|
+
## Constitution
|
|
8
|
+
|
|
9
|
+
- [Build-Loop Constitution](constitution.md) — Durable invariants cited by advisory judges. Stable rule IDs (`C-SEC`, `C-AUTH`, `C-DATA`, `C-CLAIMS`, `C-AGENT`, `C-MEMORY`). Loaded eagerly at every Phase 1 Assess and at every Phase 3 checkpoint.
|
|
10
|
+
|
|
11
|
+
## User Preferences
|
|
12
|
+
|
|
13
|
+
_(empty — add user-preference entries as `feedback_<slug>.md` and link here)_
|
|
14
|
+
|
|
15
|
+
## Reference
|
|
16
|
+
|
|
17
|
+
_(empty — add `reference_<slug>.md` for durable facts: project structure decisions, deployment topology, etc.)_
|
|
18
|
+
|
|
19
|
+
## Feedback
|
|
20
|
+
|
|
21
|
+
_(empty — add `feedback_<slug>.md` after each user correction OR validated success worth remembering)_
|
|
22
|
+
|
|
23
|
+
## Patterns
|
|
24
|
+
|
|
25
|
+
_(empty — add `pattern_<slug>.md` for recurring solutions worth naming)_
|
|
26
|
+
|
|
27
|
+
## Decisions
|
|
28
|
+
|
|
29
|
+
_(empty — link `decision_<slug>.md` for one-shot architectural decisions)_
|
|
30
|
+
|
|
31
|
+
---
|
|
32
|
+
|
|
33
|
+
## File format
|
|
34
|
+
|
|
35
|
+
Each linked entry is its own markdown file with this frontmatter:
|
|
36
|
+
|
|
37
|
+
```markdown
|
|
38
|
+
---
|
|
39
|
+
name: <short-kebab-case-slug>
|
|
40
|
+
description: <one-sentence summary for relevance scoring>
|
|
41
|
+
metadata:
|
|
42
|
+
type: feedback | pattern | reference | decision | user
|
|
43
|
+
---
|
|
44
|
+
|
|
45
|
+
# <Title>
|
|
46
|
+
|
|
47
|
+
Body — for feedback/pattern entries, structure as:
|
|
48
|
+
- Rule / fact
|
|
49
|
+
- **Why:** the rationale
|
|
50
|
+
- **How to apply:** when/where the rule fires
|
|
51
|
+
|
|
52
|
+
Link related entries with `[[other-slug]]`.
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
See the packaged `docs/memory-setup.md` guide for the full setup flow and how to link this directory to a private repo for versioning.
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
# Build-Loop Constitution — User Invariants
|
|
2
|
+
|
|
3
|
+
Durable rules that outlive any single build. Cited by advisory judges
|
|
4
|
+
(`commit-auditor`, `promotion-reviewer`, `alignment-checker`) via stable rule
|
|
5
|
+
IDs. Loaded eagerly at every Phase 1 Assess and at every Phase 3 checkpoint.
|
|
6
|
+
|
|
7
|
+
This is a template. Replace each rule's body with your actual invariants. Keep
|
|
8
|
+
rule IDs stable across edits — judge envelopes cite them by ID.
|
|
9
|
+
|
|
10
|
+
## C-SEC — Security boundary invariants
|
|
11
|
+
|
|
12
|
+
- **C-SEC/no_secret_in_repo**: No credentials, API keys, or secrets in version-controlled files. Use `.env`, secrets vault, or platform-provided env injection. Reverts required if a secret lands.
|
|
13
|
+
- **C-SEC/auth_in_authoritative_module**: Auth checks must live in the canonical auth middleware/decorator, not duplicated across handlers.
|
|
14
|
+
|
|
15
|
+
## C-AUTH — Authentication / authorization
|
|
16
|
+
|
|
17
|
+
- **C-AUTH/owner_only_writes**: Writes to a user's data require the user's authenticated session OR explicit admin role check.
|
|
18
|
+
- **C-AUTH/session_validation_at_boundary**: Every API entry point validates session before business logic.
|
|
19
|
+
|
|
20
|
+
## C-DATA — Data invariants
|
|
21
|
+
|
|
22
|
+
- **C-DATA/no_destructive_migration_without_backup**: Schema migrations that drop tables/columns require a pre-migration backup + a documented rollback path.
|
|
23
|
+
- **C-DATA/no_silent_data_loss**: Code that processes user input must surface validation failures, never silently drop fields.
|
|
24
|
+
|
|
25
|
+
## C-CLAIMS — Output / reporting integrity
|
|
26
|
+
|
|
27
|
+
- **C-CLAIMS/no_unverified_claims**: Reports must distinguish ✅ verified / ⚠️ untested / ❓ uncertain. Never claim "100% resolved" without evidence.
|
|
28
|
+
- **C-CLAIMS/cite_when_factual**: Factual claims (versions, pricing, behavior) cite a source or carry a `[INFERRED]` / `[UNVERIFIED]` tag.
|
|
29
|
+
|
|
30
|
+
## C-AGENT — Agent behavior
|
|
31
|
+
|
|
32
|
+
- **C-AGENT/no_silent_self_modification**: Build-loop modifying its own plugin code emits a user-visible report. Self-recursive builds surface to operator.
|
|
33
|
+
- **C-AGENT/no_silent_failure**: Errors propagate or are explicitly logged. No swallowed exceptions in production paths.
|
|
34
|
+
- **C-AGENT/single_writer_git**: Only the orchestrator writes to `.git/` during Phase 3. Implementers modify working tree only.
|
|
35
|
+
|
|
36
|
+
## C-MEMORY — Memory store invariants
|
|
37
|
+
|
|
38
|
+
- **C-MEMORY/canonical_writer**: All memory writes go through `scripts/memory_writer.py` for provenance. No direct file appends to `decisions/` or `~/.build-loop/memory/`.
|
|
39
|
+
- **C-MEMORY/no_global_pollution**: Project-specific facts go in `build-loop-memory/projects/<slug>/`; cross-project lessons go in `build-loop-memory/lessons/`. Don't conflate.
|
|
40
|
+
|
|
41
|
+
## C-SUPPLY — Supply-chain invariants
|
|
42
|
+
|
|
43
|
+
- **C-SUPPLY/dependency_cooldown**: Third-party JS package installs and version bumps must wait until the resolved version has been published ≥ 7 days (smash-and-grab npm-compromise mitigation: a malicious version published then yanked within hours-to-days is filtered before lifecycle scripts run). Enforced primarily by native package-manager config (`minimumReleaseAge` / `npmMinimalAgeGate` via `scripts/inject_dependency_cooldown.py`); a PreToolUse hook (`scripts/hooks/pre_bash_dependency_cooldown.sh`) backstops ad-hoc installs. User-authored scopes are exempt via a config-driven allowlist (`<repo>/.build-loop/config.json` key `dependencyCooldown.allowlist`, default `["@your-scope/*"]`).
|
|
44
|
+
|
|
45
|
+
## C-FLOW — Run-loop flow control invariants
|
|
46
|
+
|
|
47
|
+
- **C-FLOW/followup_auto_drain**: Any "still-to-do" / "deferred" / "next pass" list emitted in a Phase 4 or Phase 5 report MUST also be written to `.build-loop/followup/<run-id>-<slug>.md` (one file per item) with `intent_anchor:` frontmatter linking each item to the same `intent.md` that authorized the just-completed chunk. After the report is written, the orchestrator enters a fresh iterate cycle to drain the queue automatically — no user confirmation. Asking "want me to continue with the rest?" at a chunk boundary, when the items are same-intent + same-shape as the just-completed work, is a workflow violation. Stop conditions: iterate-cap reached, budget exhausted, an item classifies PRODUCTION via `scripts/classify_action.py`, an item requires `intent.md` to change (escalate as DECISION, do not drift scope), 5 consecutive iterate failures, or explicit user pause. Full queueing schema in `skills/build-loop/references/phase-5-iterate.md` §"Follow-up auto-drain".
|
|
48
|
+
- **C-FLOW/no_ask_at_chunk_boundary**: At a chunk boundary inside an authorized intent, the orchestrator (and any Claude session that loaded the build-loop skill) does NOT pause to ask "do you want me to do X next?" when X is a same-shape sibling of the chunk just completed. C-FLOW/followup_auto_drain handles same-shape work without re-prompting. Asks at a chunk boundary are reserved for: a new DECISION-class trade-off (`classify_action.py` `confidence: low`), a PRODUCTION-class action (TestFlight / App Store / prod deploy / portal-irreversible), a missing credential, or an explicit user-set checkpoint. Authority precedents in user memory: `feedback_keep_going_until_done`, `feedback_keep_going_no_asks`, `feedback_auto_advance_determinate_steps`.
|
|
49
|
+
|
|
50
|
+
## How judges use this
|
|
51
|
+
|
|
52
|
+
Variances in judge envelopes cite constitution rules as `constitution:C-SEC/no_secret_in_repo` (etc.). The orchestrator's Phase 1 Assess caches touched rule IDs in `state.json.constitution.loadedRuleIds[]` so downstream judges can reference them without re-reading.
|
|
53
|
+
|
|
54
|
+
Empty / minimal constitution is fine — judges fall back to `MEMORY.md` feedback entries when no rules apply.
|
|
55
|
+
|
|
56
|
+
## Editing
|
|
57
|
+
|
|
58
|
+
- **Stable IDs**: never renumber. Rules added at the end keep existing citations valid.
|
|
59
|
+
- **Concise bodies**: one sentence per rule. Detail goes in linked `[[name]]` memory entries.
|
|
60
|
+
- **Versioned**: this file is read at every Phase 1; expect frequent reads. Keep it small (< 200 lines) for cache efficiency.
|
|
61
|
+
|
|
62
|
+
## Adopting new rule families into an existing constitution
|
|
63
|
+
|
|
64
|
+
If you already have a `~/.build-loop/memory/constitution.md` (global) or `<repo>/.build-loop/memory/constitution.md` (project) and a build-loop release adds a new rule family, append the new `## C-<FAMILY>` section verbatim from this template. IDs are stable, so existing `constitution:<rule_id>` citations stay valid. Example: to adopt the supply-chain gate, copy the `## C-SUPPLY` section in. Phase 1 Assess re-reads the file each run and re-caches `state.json.constitution.loadedRuleIds[]`, so `commit-auditor` picks up the new rule on the next build with no further wiring.
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schema_version": "1.0.0",
|
|
3
|
+
"kind": "build-loop-memory-public-seed",
|
|
4
|
+
"seed_version": "2026-06-07",
|
|
5
|
+
"description": "Privacy-safe scaffolding for a fresh build-loop-memory store. This manifest allowlists only generic templates and generated directories; it must not include personal lessons, project decisions, raw files, indexes, or operator-specific content.",
|
|
6
|
+
"sources": [
|
|
7
|
+
{
|
|
8
|
+
"source": "constitution.md.template",
|
|
9
|
+
"target": "constitution.md",
|
|
10
|
+
"required": true,
|
|
11
|
+
"purpose": "Generic rule scaffold for the installer's first-run constitution."
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
"source": "MEMORY.md.template",
|
|
15
|
+
"target": "MEMORY.md",
|
|
16
|
+
"required": true,
|
|
17
|
+
"purpose": "Generic global-memory index scaffold for first-run installs."
|
|
18
|
+
}
|
|
19
|
+
],
|
|
20
|
+
"generated": [
|
|
21
|
+
{
|
|
22
|
+
"target": "indexes/",
|
|
23
|
+
"purpose": "Rebuildable local indexes created by install_memory.py."
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
"target": "projects/README.md",
|
|
27
|
+
"purpose": "Generic project-scoped memory lane guide generated by install_memory.py."
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
"target": "projects/<slug>/raw/{documents,data,db,runtime,agent-artifacts,artifacts,files}/.gitkeep",
|
|
31
|
+
"purpose": "Empty raw-source lane placeholders created only when --ensure-project is passed."
|
|
32
|
+
}
|
|
33
|
+
],
|
|
34
|
+
"privacy": {
|
|
35
|
+
"classification": "scaffolding-only",
|
|
36
|
+
"rule": "The public build-loop package ships templates and empty scaffolds only. Personal memory files, private repository contents, project-specific decisions, raw artifacts, generated indexes, and local operator paths are excluded.",
|
|
37
|
+
"deny_patterns": [
|
|
38
|
+
"(?i)BEGIN (OPENSSH|RSA|DSA|EC) PRIVATE KEY",
|
|
39
|
+
"(?i)\\b(api[_-]?key|secret|password|token)\\s*[:=]\\s*['\\\"][^'\\\"]{8,}",
|
|
40
|
+
"(?i)gh[pousr]_[A-Za-z0-9_]{20,}",
|
|
41
|
+
"/Users/[^/\\s`]+",
|
|
42
|
+
"(?i)tyroneross",
|
|
43
|
+
"(?i)client[_ -]?name",
|
|
44
|
+
"git@github\\.com:[^>\\s]+"
|
|
45
|
+
]
|
|
46
|
+
}
|
|
47
|
+
}
|