tribunal-kit 5.8.3 โ 5.8.5
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/ARCHITECTURE.md +5 -5
- package/.agent/history/integrity_manifest.json +1026 -0
- package/.agent/history/memory/.memory.idx +1217 -1
- package/.agent/history/memory/MEMORY.md +81 -1
- package/.agent/rules/GEMINI.md +1 -1
- package/.agent/scripts/_utils.js +28 -7
- package/.agent/scripts/case_law_manager.js +3 -15
- package/.agent/scripts/context_broker.js +3 -20
- package/.agent/scripts/guardrail_engine.js +643 -0
- package/.agent/scripts/integrity_manifest.js +492 -0
- package/.agent/scripts/marathon_harness.js +10 -1
- package/.agent/scripts/signal_detector.js +1 -1
- package/.agent/scripts/skill_evolution.js +39 -36
- package/.agent/scripts/skill_integrator.js +2 -12
- package/.agent/scripts/swarm_dispatcher.js +54 -5
- package/.agent/skills/12-principles-of-animation/SKILL.md +69 -0
- package/.agent/skills/60fps-animation/SKILL.md +78 -0
- package/.agent/skills/accessible-animation/SKILL.md +86 -0
- package/.agent/skills/adapt/SKILL.md +75 -0
- package/.agent/skills/animation-on-scroll/SKILL.md +110 -0
- package/.agent/skills/animation-systems/SKILL.md +69 -0
- package/.agent/skills/antfu-conventions/SKILL.md +74 -0
- package/.agent/skills/api-patterns/scripts/__pycache__/api_validator.cpython-311.pyc +0 -0
- package/.agent/skills/apple-design/SKILL.md +108 -0
- package/.agent/skills/audit-and-fix/SKILL.md +83 -0
- package/.agent/skills/baseline-ui/SKILL.md +74 -0
- package/.agent/skills/better-colors/SKILL.md +132 -0
- package/.agent/skills/better-typography/SKILL.md +111 -0
- package/.agent/skills/better-ui/SKILL.md +102 -0
- package/.agent/skills/bolder/SKILL.md +68 -0
- package/.agent/skills/build-primitive/SKILL.md +70 -0
- package/.agent/skills/clarify/SKILL.md +75 -0
- package/.agent/skills/cobejs/SKILL.md +96 -0
- package/.agent/skills/codebase-design/SKILL.md +84 -0
- package/.agent/skills/colorize/SKILL.md +77 -0
- package/.agent/skills/compact-landing/SKILL.md +70 -0
- package/.agent/skills/company-logos/SKILL.md +73 -0
- package/.agent/skills/create-design-md/SKILL.md +104 -0
- package/.agent/skills/critique/SKILL.md +95 -0
- package/.agent/skills/database-design/scripts/__pycache__/schema_validator.cpython-311.pyc +0 -0
- package/.agent/skills/delight/SKILL.md +65 -0
- package/.agent/skills/design-lab/SKILL.md +59 -0
- package/.agent/skills/diagnosing-bugs/SKILL.md +190 -0
- package/.agent/skills/distill/SKILL.md +65 -0
- package/.agent/skills/domain-modeling/SKILL.md +78 -0
- package/.agent/skills/fixing-accessibility/SKILL.md +100 -0
- package/.agent/skills/fixing-metadata/SKILL.md +97 -0
- package/.agent/skills/fixing-motion-performance/SKILL.md +96 -0
- package/.agent/skills/frontend-design/SKILL.md +80 -81
- package/.agent/skills/frontend-design/scripts/__pycache__/accessibility_checker.cpython-311.pyc +0 -0
- package/.agent/skills/frontend-design/scripts/__pycache__/ux_audit.cpython-311.pyc +0 -0
- package/.agent/skills/geo-fundamentals/scripts/__pycache__/geo_checker.cpython-311.pyc +0 -0
- package/.agent/skills/gpt-taste/SKILL.md +68 -0
- package/.agent/skills/harden/SKILL.md +74 -0
- package/.agent/skills/i18n-localization/scripts/__pycache__/i18n_checker.cpython-311.pyc +0 -0
- package/.agent/skills/impeccable/SKILL.md +74 -0
- package/.agent/skills/improve-codebase-architecture/SKILL.md +67 -0
- package/.agent/skills/improve-ui/SKILL.md +83 -0
- package/.agent/skills/landing-page/SKILL.md +88 -0
- package/.agent/skills/lint-and-validate/SKILL.md +0 -1
- package/.agent/skills/lint-and-validate/scripts/__pycache__/lint_runner.cpython-311.pyc +0 -0
- package/.agent/skills/lint-and-validate/scripts/__pycache__/type_coverage.cpython-311.pyc +0 -0
- package/.agent/skills/local-first-architecture/SKILL.md +66 -0
- package/.agent/skills/lottie-animation/SKILL.md +82 -0
- package/.agent/skills/marquee-loop/SKILL.md +96 -0
- package/.agent/skills/masked-reveal/SKILL.md +88 -0
- package/.agent/skills/micro-interaction/SKILL.md +100 -0
- package/.agent/skills/mobile-design/scripts/__pycache__/mobile_audit.cpython-311.pyc +0 -0
- package/.agent/skills/morphing-icons/SKILL.md +85 -0
- package/.agent/skills/motion-engineering/SKILL.md +66 -164
- package/.agent/skills/nextjs-react-expert/scripts/__pycache__/convert_rules.cpython-311.pyc +0 -0
- package/.agent/skills/nextjs-react-expert/scripts/__pycache__/react_performance_checker.cpython-311.pyc +0 -0
- package/.agent/skills/page-transition-animation/SKILL.md +108 -0
- package/.agent/skills/parallel-agents/SKILL.md +5 -5
- package/.agent/skills/performance-profiling/scripts/__pycache__/lighthouse_audit.cpython-311.pyc +0 -0
- package/.agent/skills/polish/SKILL.md +63 -0
- package/.agent/skills/pricing-page/SKILL.md +68 -0
- package/.agent/skills/progressive-blur/SKILL.md +100 -0
- package/.agent/skills/quieter/SKILL.md +68 -0
- package/.agent/skills/react-doctor/SKILL.md +70 -0
- package/.agent/skills/redesign-skill/SKILL.md +65 -0
- package/.agent/skills/seo-fundamentals/scripts/__pycache__/seo_checker.cpython-311.pyc +0 -0
- package/.agent/skills/shape/SKILL.md +73 -0
- package/.agent/skills/soft-skill/SKILL.md +72 -0
- package/.agent/skills/sounds-on-the-web/SKILL.md +100 -0
- package/.agent/skills/svg-animation/SKILL.md +91 -0
- package/.agent/skills/swiss-design/SKILL.md +64 -0
- package/.agent/skills/taste-skill/SKILL.md +71 -0
- package/.agent/skills/tdd-workflow/SKILL.md +36 -165
- package/.agent/skills/testing-patterns/scripts/__pycache__/test_runner.cpython-311.pyc +0 -0
- package/.agent/skills/thermo-nuclear-code-quality-review/SKILL.md +82 -0
- package/.agent/skills/to-spring-or-not-to-spring/SKILL.md +66 -0
- package/.agent/skills/transitions-dev/SKILL.md +101 -0
- package/.agent/skills/typeset/SKILL.md +76 -0
- package/.agent/skills/ui-skills-root/SKILL.md +85 -0
- package/.agent/skills/vulnerability-scanner/scripts/__pycache__/security_scan.cpython-311.pyc +0 -0
- package/.agent/skills/web-quality-audit/SKILL.md +67 -0
- package/.agent/skills/webapp-testing/scripts/__pycache__/playwright_runner.cpython-311.pyc +0 -0
- package/.agent/workflows/generate.md +1 -1
- package/.agent/workflows/tribunal-full.md +2 -2
- package/.agent/workflows/tribunal-speed.md +2 -2
- package/CONTRIBUTING.md +1 -1
- package/README.md +349 -239
- package/bin/mcp-server.js +45 -45
- package/bin/tribunal-kit.js +62 -1482
- package/bin/wrapper.js +50 -25
- package/dist/cli.js +43 -0
- package/dist/commands/align.js +1 -1
- package/dist/commands/compile.js +1 -1
- package/dist/commands/guardrail.js +275 -0
- package/dist/commands/init.js +35 -10
- package/dist/commands/native.js +228 -0
- package/dist/commands/optimize.js +318 -0
- package/dist/commands/validate.js +67 -0
- package/dist/mcp/server.js +4 -138
- package/dist/utils/version.js +1 -1
- package/package.json +13 -10
- package/scripts/benchmark.js +42 -0
- package/scripts/fix-vbc.js +98 -0
- package/scripts/fix-vbc.ps1 +119 -0
- package/scripts/sync-version.js +129 -76
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: improve-codebase-architecture
|
|
3
|
+
description: Scans a codebase for deepening opportunities, architectural bottlenecks, tight coupling, and produces a prioritized visual improvement roadmap.
|
|
4
|
+
version: 1.0.0
|
|
5
|
+
last-updated: 2026-07-22
|
|
6
|
+
applies-to-model: gemini-3-6-flash, claude-3-7-sonnet
|
|
7
|
+
routing:
|
|
8
|
+
domain: Codebase Architectural Audit
|
|
9
|
+
tier: pro
|
|
10
|
+
co-requires: [codebase-design, clean-code, architecture]
|
|
11
|
+
trigger-signals:
|
|
12
|
+
strong: [improve-codebase-architecture, architectural audit, refactor architecture, decouple modules, codebase refactor plan]
|
|
13
|
+
weak: [architecture check, fix architecture]
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
# Improve Codebase Architecture โ Architectural Audit & Refactoring
|
|
17
|
+
|
|
18
|
+
Audit an existing codebase for structural rot, circular dependencies, monolithic controllers, and produce a prioritized refactoring roadmap.
|
|
19
|
+
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
## 4 Audit Steps
|
|
23
|
+
|
|
24
|
+
### 1. Dependency Graph Inspection
|
|
25
|
+
- Map import relationships across modules. Identify circular dependencies (`A -> B -> C -> A`) and break them by introducing event buses or interface abstractions.
|
|
26
|
+
|
|
27
|
+
### 2. Monolithic Controller Detection
|
|
28
|
+
- Flag files exceeding 500 lines of code containing mixed concerns (database queries, HTTP response handling, email sending, data validation).
|
|
29
|
+
|
|
30
|
+
### 3. Interface Shrinking (Deepening Modules)
|
|
31
|
+
- Audit public exports. Convert large multi-parameter interfaces into thin, single-responsibility contracts.
|
|
32
|
+
|
|
33
|
+
### 4. Prioritized Architectural Roadmap Output
|
|
34
|
+
Output audit findings in a clear prioritized Markdown table:
|
|
35
|
+
|
|
36
|
+
| Impact Level | Architectural Issue | Proposed Seam / Refactor |
|
|
37
|
+
| --- | --- | --- |
|
|
38
|
+
| ๐ด **High Impact** | Direct DB queries inside React Server Components | Extract Repository layer pattern |
|
|
39
|
+
| ๐ **Medium Impact** | Circular import between Auth and User modules | Introduce `EventBus` for user registration events |
|
|
40
|
+
| ๐ก **Low Impact** | Hardcoded API base URLs across 12 files | Centralize in typed `ConfigService` |
|
|
41
|
+
|
|
42
|
+
---
|
|
43
|
+
|
|
44
|
+
## ๐ค LLM-Specific Traps
|
|
45
|
+
|
|
46
|
+
1. **Shotgun Surgery**: Refactoring 20 files at once without establishing tests or clean interfaces first.
|
|
47
|
+
2. **Ignoring Existing Conventions**: Forgetting existing project patterns and forcing an incompatible framework structure.
|
|
48
|
+
|
|
49
|
+
---
|
|
50
|
+
|
|
51
|
+
## ๐๏ธ Tribunal Integration (Anti-Hallucination)
|
|
52
|
+
|
|
53
|
+
**Active reviewers: `logic-reviewer` ยท `complexity-reviewer`**
|
|
54
|
+
|
|
55
|
+
### โ
Pre-Flight Self-Audit
|
|
56
|
+
|
|
57
|
+
```
|
|
58
|
+
โ
Are circular dependencies identified and resolved via clean seams?
|
|
59
|
+
โ
Is the refactoring plan broken down into safe, testable phases?
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
### ๐ Verification-Before-Completion (VBC) Protocol
|
|
63
|
+
|
|
64
|
+
**CRITICAL:** You must follow a strict "evidence-based closeout" state machine.
|
|
65
|
+
|
|
66
|
+
- โ **Forbidden:** Declaring a task complete because the output "looks correct."
|
|
67
|
+
- โ
**Required:** You are explicitly forbidden from finalizing any task without providing **concrete evidence** (terminal output, passing tests, compile success, or equivalent proof) that your output works as intended.
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: improve-ui
|
|
3
|
+
description: Audit an existing product surface against its own design evidence, identify verified UI problems, and write self-contained implementation plans for another agent. Strictly read-only on product source. Use when asked to review, refine, improve, or clean up an interface without replacing its identity.
|
|
4
|
+
version: 1.0.0
|
|
5
|
+
last-updated: 2026-07-22
|
|
6
|
+
applies-to-model: gemini-3-6-flash, claude-3-7-sonnet
|
|
7
|
+
routing:
|
|
8
|
+
domain: UI Craft & Design Audit
|
|
9
|
+
tier: master
|
|
10
|
+
co-requires: [better-ui, baseline-ui]
|
|
11
|
+
trigger-signals:
|
|
12
|
+
strong: [improve-ui, audit interface, refine UI, UI review, design-system drift, UI cleanup plan]
|
|
13
|
+
weak: [review layout, UI feedback]
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
# Improve UI โ Evidence-Based UI Audit & Implementation Planning
|
|
17
|
+
|
|
18
|
+
Audit a specific product surface against its governing design tokens and guidelines, identify verified UI defects, and generate self-contained implementation plans for remediation.
|
|
19
|
+
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
## 1. Operating Rules & Boundaries
|
|
23
|
+
|
|
24
|
+
- **Strictly Read-Only on Product Source**: Never modify product source files (`src/`, `components/`, `app/`) during an `improve-ui` audit session.
|
|
25
|
+
- **Output Artifacts Only**: Create plans under `design-plans/` or return an actionable implementation plan to the user.
|
|
26
|
+
- **Respect Product Identity**: Preserve existing component architecture, routing, and product identity.
|
|
27
|
+
|
|
28
|
+
---
|
|
29
|
+
|
|
30
|
+
## 2. The 4-Phase Audit Protocol
|
|
31
|
+
|
|
32
|
+
### Phase 1: Surface Selection & Path Tracing
|
|
33
|
+
1. Focus on one deployable application and one coherent surface family (e.g. `Dashboard / Overview`).
|
|
34
|
+
2. Trace the path from route layout $\rightarrow$ page composition $\rightarrow$ shared UI primitives $\rightarrow$ tokens/CSS variables.
|
|
35
|
+
|
|
36
|
+
### Phase 2: Design Language Reconstruction
|
|
37
|
+
1. Inspect `DESIGN.md`, `index.css`, Tailwind tokens, or custom properties.
|
|
38
|
+
2. Record active background tokens, typography roles, spatial rules, and border/shadow contracts.
|
|
39
|
+
|
|
40
|
+
### Phase 3: Proof-Gated Defect Verification
|
|
41
|
+
Before reporting a finding, require 3 explicit proofs:
|
|
42
|
+
- **Observation**: Exact code line or rendered element showing the discrepancy.
|
|
43
|
+
- **Basis**: Violation of documented design token or 8px grid baseline.
|
|
44
|
+
- **Consequence**: Measurable degradation of visual hierarchy, readability, or interaction response.
|
|
45
|
+
|
|
46
|
+
### Phase 4: Implementation Plan Generation
|
|
47
|
+
Write a self-contained plan specifying:
|
|
48
|
+
- Files to modify
|
|
49
|
+
- Exact CSS/JSX diffs
|
|
50
|
+
- Verification steps (browser preview, contrast check, visual alignment)
|
|
51
|
+
|
|
52
|
+
---
|
|
53
|
+
|
|
54
|
+
## Anti-Slop Table
|
|
55
|
+
|
|
56
|
+
| Audit Pattern | Evidence-Based Rule | Rationale |
|
|
57
|
+
| --- | --- | --- |
|
|
58
|
+
| Rewriting entire components | Targeted visual diff plan | Preserves business logic & state |
|
|
59
|
+
| Guessing design tokens | Citing verified `var(--...)` declarations | Ensures token adherence |
|
|
60
|
+
| Speculative visual preferences | Reporting only verified WCAG/token violations | Prevents arbitrary churn |
|
|
61
|
+
|
|
62
|
+
---
|
|
63
|
+
|
|
64
|
+
## ๐ค LLM-Specific Traps
|
|
65
|
+
|
|
66
|
+
1. **Mutating Code During Audit**: Applying code changes immediately instead of generating a clean implementation plan.
|
|
67
|
+
2. **Re-architecting Scope**: Re-writing component state hooks when only CSS spacing and contrast fixes were requested.
|
|
68
|
+
|
|
69
|
+
---
|
|
70
|
+
|
|
71
|
+
## ๐๏ธ Tribunal Integration (Anti-Hallucination)
|
|
72
|
+
|
|
73
|
+
### โ
Pre-Flight Self-Audit
|
|
74
|
+
|
|
75
|
+
```
|
|
76
|
+
โ
Is the audit strictly read-only on product source code?
|
|
77
|
+
โ
Are all reported findings supported by concrete token or layout evidence?
|
|
78
|
+
โ
Is the generated implementation plan self-contained and ready for execution?
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
### ๐ Verification-Before-Completion (VBC) Protocol
|
|
82
|
+
|
|
83
|
+
Confirm all plan recommendations match project CSS custom properties before delivery.
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: landing-page
|
|
3
|
+
description: High-converting landing page structure, hero section layout variance, CTA hierarchy, visual pacing, feature grid storytelling, and social proof placement.
|
|
4
|
+
version: 1.0.0
|
|
5
|
+
last-updated: 2026-07-22
|
|
6
|
+
applies-to-model: gemini-3-6-flash, claude-3-7-sonnet
|
|
7
|
+
routing:
|
|
8
|
+
domain: Landing Page Architecture & Conversion
|
|
9
|
+
tier: pro
|
|
10
|
+
co-requires: [compact-landing, company-logos, pricing-page, frontend-design]
|
|
11
|
+
trigger-signals:
|
|
12
|
+
strong: [landing-page, hero section, CTA hierarchy, conversion landing page, SaaS landing page, feature grid storytelling]
|
|
13
|
+
weak: [homepage design, marketing page]
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
# Landing Page โ Conversion Architecture & Visual Pacing
|
|
17
|
+
|
|
18
|
+
Build high-converting, visually stunning landing pages that guide visitors from curiosity to conversion.
|
|
19
|
+
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
## The 6-Section Landing Page Blueprint
|
|
23
|
+
|
|
24
|
+
```
|
|
25
|
+
1. Navigation Header
|
|
26
|
+
- Sticky blur backdrop, clear logo, 3-4 nav links, primary CTA button on top-right.
|
|
27
|
+
|
|
28
|
+
2. Hero Section (Above the Fold)
|
|
29
|
+
- Category Pill / Announcement Badge (top)
|
|
30
|
+
- High-Impact H1 Headline (max 8 words, text-wrap: balance)
|
|
31
|
+
- Subtitle (max 2 lines, high legibility)
|
|
32
|
+
- Dual CTA Buttons: Primary (solid accent) + Secondary (ghost / watch demo)
|
|
33
|
+
- Interactive Product Preview / App Frame (centered below CTAs)
|
|
34
|
+
|
|
35
|
+
3. Social Proof Row
|
|
36
|
+
- Monochromatic company logo bar or customer rating badge immediately below hero.
|
|
37
|
+
|
|
38
|
+
4. Feature Value Sections (Alternating Rhythm)
|
|
39
|
+
- 3-column feature grid OR alternating left-text / right-visual sections.
|
|
40
|
+
- Interactive micro-demos or high-resolution app screenshots over static icons.
|
|
41
|
+
|
|
42
|
+
5. Testimonials & Case Studies
|
|
43
|
+
- Real customer quote cards with avatar, name, title, and verified metric ("Boosted retention by 42%").
|
|
44
|
+
|
|
45
|
+
6. Final Call to Action & Footer
|
|
46
|
+
- Prominent conversion card banner + comprehensive 4-column footer link map.
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
---
|
|
50
|
+
|
|
51
|
+
## Hero Layout Variance Models
|
|
52
|
+
|
|
53
|
+
Avoid standard left-text / right-image templates on every project. Choose based on product type:
|
|
54
|
+
|
|
55
|
+
- **Model A: Centered Stacked (Best for Developer Tools & SaaS)**
|
|
56
|
+
- Centered Pill -> Centered H1 -> Centered Subtitle -> Centered Dual CTA -> Full-width app preview mockup below.
|
|
57
|
+
- **Model B: Asymmetric Split (Best for Complex B2B & Mobile Apps)**
|
|
58
|
+
- 60% Left column (Heading, bullets, CTA) + 40% Right column (Interactive phone frame or live code preview).
|
|
59
|
+
- **Model C: Full-Bleed Canvas (Best for Creative & AI Tools)**
|
|
60
|
+
- Full-screen canvas visual background with floating frosted-glass prompt bar and primary CTA.
|
|
61
|
+
|
|
62
|
+
---
|
|
63
|
+
|
|
64
|
+
## ๐ค LLM-Specific Traps
|
|
65
|
+
|
|
66
|
+
1. **Standard Generic Left-Text / Right-Image Every Time**: Re-using the exact same layout template for every marketing page request.
|
|
67
|
+
2. **Multiple Equal Primary Buttons**: Displaying 3 solid colored buttons together, creating CTA confusion.
|
|
68
|
+
|
|
69
|
+
---
|
|
70
|
+
|
|
71
|
+
## ๐๏ธ Tribunal Integration (Anti-Hallucination)
|
|
72
|
+
|
|
73
|
+
**Active reviewers: `frontend-reviewer` ยท `ui-ux-auditor`**
|
|
74
|
+
|
|
75
|
+
### โ
Pre-Flight Self-Audit
|
|
76
|
+
|
|
77
|
+
```
|
|
78
|
+
โ
Is there a single, unambiguous primary CTA button above the fold?
|
|
79
|
+
โ
Is heading text balanced with `text-wrap: balance`?
|
|
80
|
+
โ
Is social proof placed immediately following the hero section?
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
### ๐ Verification-Before-Completion (VBC) Protocol
|
|
84
|
+
|
|
85
|
+
**CRITICAL:** You must follow a strict "evidence-based closeout" state machine.
|
|
86
|
+
|
|
87
|
+
- โ **Forbidden:** Declaring a task complete because the output "looks correct."
|
|
88
|
+
- โ
**Required:** You are explicitly forbidden from finalizing any task without providing **concrete evidence** (terminal output, passing tests, compile success, or equivalent proof) that your output works as intended.
|
|
@@ -186,7 +186,6 @@ repos:
|
|
|
186
186
|
| Script | Purpose | Run With |
|
|
187
187
|
| -------------------------- | ----------------------------------------- | ------------------------------------------------ |
|
|
188
188
|
| `.agent/scripts/lint_runner.js` | Runs project linting and reports findings | `node .agent/scripts/lint_runner.js <project_path>` |
|
|
189
|
-
| `scripts/type_coverage.py` | Measures TypeScript type coverage | `python scripts/type_coverage.py <project_path>` |
|
|
190
189
|
|
|
191
190
|
---
|
|
192
191
|
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: local-first-architecture
|
|
3
|
+
description: Local-first architecture guidance for instant-feeling web & desktop apps, optimistic updates, IndexedDB sync engines, offline operation, and Conflict-free Replicated Data Types (CRDTs).
|
|
4
|
+
version: 1.0.0
|
|
5
|
+
last-updated: 2026-07-22
|
|
6
|
+
applies-to-model: gemini-3-6-flash, claude-3-7-sonnet
|
|
7
|
+
routing:
|
|
8
|
+
domain: Local-First Architecture & Sync Engines
|
|
9
|
+
tier: pro
|
|
10
|
+
co-requires: [local-first, realtime-patterns, architecture]
|
|
11
|
+
trigger-signals:
|
|
12
|
+
strong: [local-first-architecture, Linear architecture, optimistic updates, IndexedDB sync, CRDT, offline-first app, zero-latency UI]
|
|
13
|
+
weak: [offline sync, optimistic state]
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
# Local-First Architecture โ Instant UI & Sync Engines
|
|
17
|
+
|
|
18
|
+
Architect software that reads and writes to local storage (SQLite/IndexedDB) first, ensuring instant zero-latency UI mutations with background server synchronization.
|
|
19
|
+
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
## 4 Pillars of Local-First Architecture
|
|
23
|
+
|
|
24
|
+
### 1. Read & Write Local First
|
|
25
|
+
- **Zero Network Latency**: UI queries (`select * from tasks`) run synchronously or near-instantaneously against in-memory or IndexedDB caches.
|
|
26
|
+
- Mutations update the local cache immediately (*optimistic write*), appending a mutation log item to an outbound sync queue.
|
|
27
|
+
|
|
28
|
+
### 2. Outbound Mutation Queue & Idempotency
|
|
29
|
+
- Store mutation logs in a persistent local queue (`IndexedDB` / `SQLite`).
|
|
30
|
+
- Assign every client mutation a unique UUID (`idempotencyKey`).
|
|
31
|
+
- When network connection is restored, flush queue items sequentially with automatic retry on 5xx failures.
|
|
32
|
+
|
|
33
|
+
### 3. Conflict Resolution (CRDTs & LWW)
|
|
34
|
+
- **Last-Write-Wins (LWW)**: Timestamp + Client ID ordering for simple fields.
|
|
35
|
+
- **CRDTs (Yjs / Automerge)**: Conflict-free Replicated Data Types for collaborative text editing and array state.
|
|
36
|
+
|
|
37
|
+
### 4. Background Delta Streaming
|
|
38
|
+
- Receive database updates via WebSockets or Server-Sent Events (SSE) as thin binary deltas (`sync_version > client_version`), applying changes to local storage without re-fetching full datasets.
|
|
39
|
+
|
|
40
|
+
---
|
|
41
|
+
|
|
42
|
+
## ๐ค LLM-Specific Traps
|
|
43
|
+
|
|
44
|
+
1. **Waiting for Server API Response Before UI Render**: Blocking the user interface with a spinner while waiting for a POST request response.
|
|
45
|
+
2. **Volatile Local State**: Keeping mutation queues in non-persistent JS memory, losing unsaved user edits on page refresh.
|
|
46
|
+
|
|
47
|
+
---
|
|
48
|
+
|
|
49
|
+
## ๐๏ธ Tribunal Integration (Anti-Hallucination)
|
|
50
|
+
|
|
51
|
+
**Active reviewers: `logic-reviewer` ยท `resilience-reviewer` ยท `architecture-reviewer`**
|
|
52
|
+
|
|
53
|
+
### โ
Pre-Flight Self-Audit
|
|
54
|
+
|
|
55
|
+
```
|
|
56
|
+
โ
Are user actions reflected instantly in local UI state?
|
|
57
|
+
โ
Is the mutation queue persisted in IndexedDB/SQLite for offline durability?
|
|
58
|
+
โ
Are all server API mutations idempotent with client-generated UUID keys?
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
### ๐ Verification-Before-Completion (VBC) Protocol
|
|
62
|
+
|
|
63
|
+
**CRITICAL:** You must follow a strict "evidence-based closeout" state machine.
|
|
64
|
+
|
|
65
|
+
- โ **Forbidden:** Declaring a task complete because the output "looks correct."
|
|
66
|
+
- โ
**Required:** You are explicitly forbidden from finalizing any task without providing **concrete evidence** (terminal output, passing tests, compile success, or equivalent proof) that your output works as intended.
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: lottie-animation
|
|
3
|
+
description: Lottie and dotLottie integration, playback control, hover/click triggers, runtime theming, and performance optimization for React/Vue/Web.
|
|
4
|
+
version: 1.0.0
|
|
5
|
+
last-updated: 2026-07-22
|
|
6
|
+
applies-to-model: gemini-3-6-flash, claude-3-7-sonnet
|
|
7
|
+
routing:
|
|
8
|
+
domain: Vector Animation & Lottie Integration
|
|
9
|
+
tier: pro
|
|
10
|
+
co-requires: [60fps-animation, text-to-lottie]
|
|
11
|
+
trigger-signals:
|
|
12
|
+
strong: [lottie-animation, dotLottie, Lottie React, Lottie playback, vector animation JSON]
|
|
13
|
+
weak: [lottie, json animation]
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
# Lottie Animation โ dotLottie & Runtime Control
|
|
17
|
+
|
|
18
|
+
Integrate lightweight, vector-based Lottie animations with interactive trigger controls and runtime color theming.
|
|
19
|
+
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
## 3 Lottie Integration Recipes
|
|
23
|
+
|
|
24
|
+
### 1. React dotLottie Interactive Player (`@dotlottie/react-player`)
|
|
25
|
+
```tsx
|
|
26
|
+
import React, { useRef } from "react";
|
|
27
|
+
import { DotLottiePlayer, Controls } from "@dotlottie/react-player";
|
|
28
|
+
import "@dotlottie/react-player/dist/index.css";
|
|
29
|
+
|
|
30
|
+
export function InteractiveLottieIcon() {
|
|
31
|
+
const lottieRef = useRef<any>(null);
|
|
32
|
+
|
|
33
|
+
return (
|
|
34
|
+
<div
|
|
35
|
+
onMouseEnter={() => lottieRef.current?.play()}
|
|
36
|
+
onMouseLeave={() => lottieRef.current?.stop()}
|
|
37
|
+
className="w-12 h-12 cursor-pointer"
|
|
38
|
+
>
|
|
39
|
+
<DotLottiePlayer
|
|
40
|
+
ref={lottieRef}
|
|
41
|
+
src="/animations/success-check.lottie"
|
|
42
|
+
autoplay={false}
|
|
43
|
+
loop={false}
|
|
44
|
+
/>
|
|
45
|
+
</div>
|
|
46
|
+
);
|
|
47
|
+
}
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
### 2. Runtime Color Injection / Theming
|
|
51
|
+
Pass custom CSS variable overrides to dotLottie players to dynamically recolor vector paths at runtime without re-downloading JSON assets.
|
|
52
|
+
|
|
53
|
+
### 3. Performance & Lazy Loading
|
|
54
|
+
- Use `.lottie` (dotLottie format) instead of uncompressed `.json` Lottie files to achieve **80% smaller bundle file sizes**.
|
|
55
|
+
- Lazy-load offscreen Lottie animations using `IntersectionObserver`.
|
|
56
|
+
|
|
57
|
+
---
|
|
58
|
+
|
|
59
|
+
## ๐ค LLM-Specific Traps
|
|
60
|
+
|
|
61
|
+
1. **Embedding Massive Uncompressed Lottie JSONs**: Importing 2MB JSON files inline into JavaScript bundles.
|
|
62
|
+
2. **Autoplay Loops Everywhere**: Setting `autoplay loop` on 10 offscreen icons, causing massive CPU idle usage.
|
|
63
|
+
|
|
64
|
+
---
|
|
65
|
+
|
|
66
|
+
## ๐๏ธ Tribunal Integration (Anti-Hallucination)
|
|
67
|
+
|
|
68
|
+
**Active reviewers: `frontend-reviewer` ยท `performance-optimizer`**
|
|
69
|
+
|
|
70
|
+
### โ
Pre-Flight Self-Audit
|
|
71
|
+
|
|
72
|
+
```
|
|
73
|
+
โ
Are dotLottie (`.lottie`) binary assets preferred over raw uncompressed `.json`?
|
|
74
|
+
โ
Is playback triggered intentionally via hover, click, or visible viewport intersection?
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
### ๐ Verification-Before-Completion (VBC) Protocol
|
|
78
|
+
|
|
79
|
+
**CRITICAL:** You must follow a strict "evidence-based closeout" state machine.
|
|
80
|
+
|
|
81
|
+
- โ **Forbidden:** Declaring a task complete because the output "looks correct."
|
|
82
|
+
- โ
**Required:** You are explicitly forbidden from finalizing any task without providing **concrete evidence** (terminal output, passing tests, compile success, or equivalent proof) that your output works as intended.
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: marquee-loop
|
|
3
|
+
description: Hardware-accelerated, seamless, continuous looping marquees for logo rows, testimonials, and announcements with pause-on-hover accessibility.
|
|
4
|
+
version: 1.0.0
|
|
5
|
+
last-updated: 2026-07-22
|
|
6
|
+
applies-to-model: gemini-3-6-flash, claude-3-7-sonnet
|
|
7
|
+
routing:
|
|
8
|
+
domain: Ticker & Continuous Motion
|
|
9
|
+
tier: pro
|
|
10
|
+
co-requires: [60fps-animation, company-logos]
|
|
11
|
+
trigger-signals:
|
|
12
|
+
strong: [marquee-loop, marquee animation, continuous ticker, looping logo track, seamless marquee]
|
|
13
|
+
weak: [scrolling logos, ticker]
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
# Marquee Loop โ Hardware-Accelerated Continuous Tickers
|
|
17
|
+
|
|
18
|
+
Build seamless 60fps infinite marquee tracks that pause on hover and respect accessibility settings.
|
|
19
|
+
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
## The Seamless CSS Marquee Recipe
|
|
23
|
+
|
|
24
|
+
```html
|
|
25
|
+
<div class="marquee-container" aria-label="Partner logos">
|
|
26
|
+
<div class="marquee-track">
|
|
27
|
+
<!-- Original Items -->
|
|
28
|
+
<div class="marquee-content">...items...</div>
|
|
29
|
+
<!-- Duplicate Items for Seamless Infinite Loop -->
|
|
30
|
+
<div class="marquee-content" aria-hidden="true">...items...</div>
|
|
31
|
+
</div>
|
|
32
|
+
</div>
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
```css
|
|
36
|
+
.marquee-container {
|
|
37
|
+
display: flex;
|
|
38
|
+
overflow: hidden;
|
|
39
|
+
user-select: none;
|
|
40
|
+
mask-image: linear-gradient(to right, transparent, black 10%, black 90%, transparent);
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
.marquee-track {
|
|
44
|
+
display: flex;
|
|
45
|
+
flex-shrink: 0;
|
|
46
|
+
gap: 2rem;
|
|
47
|
+
animation: marquee-slide 25s linear infinite;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
.marquee-container:hover .marquee-track {
|
|
51
|
+
animation-play-state: paused;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
@keyframes marquee-slide {
|
|
55
|
+
from { transform: translateX(0%); }
|
|
56
|
+
to { transform: translateX(-50%); }
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
/* Reduced Motion Override */
|
|
60
|
+
@media (prefers-color-scheme: dark) { ... }
|
|
61
|
+
@media (prefers-reduced-motion: reduce) {
|
|
62
|
+
.marquee-track {
|
|
63
|
+
animation: none;
|
|
64
|
+
flex-wrap: wrap;
|
|
65
|
+
justify-content: center;
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
---
|
|
71
|
+
|
|
72
|
+
## ๐ค LLM-Specific Traps
|
|
73
|
+
|
|
74
|
+
1. **Missing Duplicate Duplicate Track**: Animating a single track without duplicating content, causing a visible blank jump when the animation loops.
|
|
75
|
+
2. **Missing `animation-play-state: paused` on Hover**: Blocking users from clicking or reading marquee content by refusing to pause on hover/focus.
|
|
76
|
+
|
|
77
|
+
---
|
|
78
|
+
|
|
79
|
+
## ๐๏ธ Tribunal Integration (Anti-Hallucination)
|
|
80
|
+
|
|
81
|
+
**Active reviewers: `frontend-reviewer` ยท `performance-optimizer`**
|
|
82
|
+
|
|
83
|
+
### โ
Pre-Flight Self-Audit
|
|
84
|
+
|
|
85
|
+
```
|
|
86
|
+
โ
Is the duplicate item track present with `aria-hidden="true"`?
|
|
87
|
+
โ
Is `animation-play-state: paused` active on container hover/focus?
|
|
88
|
+
โ
Does marquee collapse into static grid when `prefers-reduced-motion` is enabled?
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
### ๐ Verification-Before-Completion (VBC) Protocol
|
|
92
|
+
|
|
93
|
+
**CRITICAL:** You must follow a strict "evidence-based closeout" state machine.
|
|
94
|
+
|
|
95
|
+
- โ **Forbidden:** Declaring a task complete because the output "looks correct."
|
|
96
|
+
- โ
**Required:** You are explicitly forbidden from finalizing any task without providing **concrete evidence** (terminal output, passing tests, compile success, or equivalent proof) that your output works as intended.
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: masked-reveal
|
|
3
|
+
description: CSS clip-path, SVG masking, and layered entrance reveals for images, hero banners, and text blocks.
|
|
4
|
+
version: 1.0.0
|
|
5
|
+
last-updated: 2026-07-22
|
|
6
|
+
applies-to-model: gemini-3-6-flash, claude-3-7-sonnet
|
|
7
|
+
routing:
|
|
8
|
+
domain: Visual Masking & Entrance Motion
|
|
9
|
+
tier: pro
|
|
10
|
+
co-requires: [60fps-animation, framer-motion-expert]
|
|
11
|
+
trigger-signals:
|
|
12
|
+
strong: [masked-reveal, clip-path reveal, SVG mask animation, curtain reveal, text mask reveal]
|
|
13
|
+
weak: [mask effect, clip path animation]
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
# Masked Reveal โ Clip-Path & Layered Entrances
|
|
17
|
+
|
|
18
|
+
Create editorial, high-end visual reveals using CSS `clip-path` and SVG masks.
|
|
19
|
+
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
## 3 Masked Reveal Patterns
|
|
23
|
+
|
|
24
|
+
### 1. CSS `clip-path` Curtain Reveal
|
|
25
|
+
```css
|
|
26
|
+
@keyframes curtain-reveal {
|
|
27
|
+
from { clip-path: inset(0 100% 0 0); }
|
|
28
|
+
to { clip-path: inset(0 0 0 0); }
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
.reveal-image-curtain {
|
|
32
|
+
animation: curtain-reveal 0.8s cubic-bezier(0.77, 0, 0.175, 1) forwards;
|
|
33
|
+
}
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
### 2. Radial Spotlight Clip Reveal
|
|
37
|
+
```css
|
|
38
|
+
@keyframes circle-expand {
|
|
39
|
+
from { clip-path: circle(0% at 50% 50%); }
|
|
40
|
+
to { clip-path: circle(150% at 50% 50%); }
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
.spotlight-reveal {
|
|
44
|
+
animation: circle-expand 1.2s cubic-bezier(0.16, 1, 0.3, 1) forwards;
|
|
45
|
+
}
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
### 3. Masked Text Line Wipe (Editorial Typography)
|
|
49
|
+
Wrap text lines inside overflow-hidden wrappers and animate inner text lines upward:
|
|
50
|
+
```css
|
|
51
|
+
.text-line-wrapper {
|
|
52
|
+
overflow: hidden;
|
|
53
|
+
}
|
|
54
|
+
.text-line-inner {
|
|
55
|
+
transform: translateY(100%);
|
|
56
|
+
transition: transform 600ms cubic-bezier(0.16, 1, 0.3, 1);
|
|
57
|
+
}
|
|
58
|
+
.text-line-wrapper.is-visible .text-line-inner {
|
|
59
|
+
transform: translateY(0%);
|
|
60
|
+
}
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
---
|
|
64
|
+
|
|
65
|
+
## ๐ค LLM-Specific Traps
|
|
66
|
+
|
|
67
|
+
1. **Missing `overflow: hidden` on Line Wrappers**: Text showing outside container boundaries during line wipe animations.
|
|
68
|
+
2. **Heavy GPU Mask Layers**: Applying multiple full-screen SVG masks simultaneously on lower-end mobile devices.
|
|
69
|
+
|
|
70
|
+
---
|
|
71
|
+
|
|
72
|
+
## ๐๏ธ Tribunal Integration (Anti-Hallucination)
|
|
73
|
+
|
|
74
|
+
**Active reviewers: `motion-reviewer` ยท `frontend-reviewer`**
|
|
75
|
+
|
|
76
|
+
### โ
Pre-Flight Self-Audit
|
|
77
|
+
|
|
78
|
+
```
|
|
79
|
+
โ
Are text line wipes enclosed inside `overflow: hidden` wrappers?
|
|
80
|
+
โ
Is `clip-path: inset()` used for linear curtain wipes for maximum performance?
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
### ๐ Verification-Before-Completion (VBC) Protocol
|
|
84
|
+
|
|
85
|
+
**CRITICAL:** You must follow a strict "evidence-based closeout" state machine.
|
|
86
|
+
|
|
87
|
+
- โ **Forbidden:** Declaring a task complete because the output "looks correct."
|
|
88
|
+
- โ
**Required:** You are explicitly forbidden from finalizing any task without providing **concrete evidence** (terminal output, passing tests, compile success, or equivalent proof) that your output works as intended.
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: micro-interaction
|
|
3
|
+
description: Detailed UI motion guidance for hover and press feedback, toggles, checkboxes, toasts, drawers, modals, list transitions, and shared-element interactions.
|
|
4
|
+
version: 1.0.0
|
|
5
|
+
last-updated: 2026-07-22
|
|
6
|
+
applies-to-model: gemini-3-6-flash, claude-3-7-sonnet
|
|
7
|
+
routing:
|
|
8
|
+
domain: Micro-Interactions & Component Tactility
|
|
9
|
+
tier: pro
|
|
10
|
+
co-requires: [delight, emil-design-eng, better-ui]
|
|
11
|
+
trigger-signals:
|
|
12
|
+
strong: [micro-interaction, button press feedback, toggle motion, checkbox animation, toast entrance, drawer interaction]
|
|
13
|
+
weak: [interactive feedback, hover state animation]
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
# Micro-Interaction โ Component Motion & Tactile Feedback
|
|
17
|
+
|
|
18
|
+
Craft responsive, physically grounded micro-interactions for everyday UI controls.
|
|
19
|
+
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
## 4 Micro-Interaction Recipes
|
|
23
|
+
|
|
24
|
+
### 1. Tactile Button Press
|
|
25
|
+
```css
|
|
26
|
+
.btn-tactile {
|
|
27
|
+
transition: transform 120ms cubic-bezier(0.2, 0, 0, 1), box-shadow 120ms ease;
|
|
28
|
+
}
|
|
29
|
+
.btn-tactile:hover {
|
|
30
|
+
transform: translateY(-1px);
|
|
31
|
+
}
|
|
32
|
+
.btn-tactile:active {
|
|
33
|
+
transform: translateY(1px) scale(0.97);
|
|
34
|
+
}
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
### 2. Animated Toggle Switch
|
|
38
|
+
```css
|
|
39
|
+
.toggle-thumb {
|
|
40
|
+
transition: transform 200ms cubic-bezier(0.34, 1.56, 0.64, 1); /* Subtle spring overshoot */
|
|
41
|
+
}
|
|
42
|
+
[data-state="checked"] .toggle-thumb {
|
|
43
|
+
transform: translateX(20px);
|
|
44
|
+
}
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
### 3. Animated Checkbox Morph
|
|
48
|
+
Use an SVG path draw-on keyframe when checked:
|
|
49
|
+
```css
|
|
50
|
+
.checkbox-svg-path {
|
|
51
|
+
stroke-dasharray: 24;
|
|
52
|
+
stroke-dashoffset: 24;
|
|
53
|
+
transition: stroke-dashoffset 180ms ease-out;
|
|
54
|
+
}
|
|
55
|
+
[data-state="checked"] .checkbox-svg-path {
|
|
56
|
+
stroke-dashoffset: 0;
|
|
57
|
+
}
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
### 4. Origin-Aware Popover / Dropdown
|
|
61
|
+
Popovers scale out from their trigger source using CSS variables:
|
|
62
|
+
```css
|
|
63
|
+
.popover-content {
|
|
64
|
+
transform-origin: var(--radix-popover-content-transform-origin, center top);
|
|
65
|
+
animation: popover-enter 160ms cubic-bezier(0.16, 1, 0.3, 1);
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
@keyframes popover-enter {
|
|
69
|
+
from { opacity: 0; transform: scale(0.95); }
|
|
70
|
+
to { opacity: 1; transform: scale(1); }
|
|
71
|
+
}
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
---
|
|
75
|
+
|
|
76
|
+
## ๐ค LLM-Specific Traps
|
|
77
|
+
|
|
78
|
+
1. **Center Scaling Popovers**: Popovers springing out from the screen center instead of scaling from their trigger origin.
|
|
79
|
+
2. **Slow Micro-Interactions**: Setting button press or toggle transitions to 400ms, making the UI feel sluggish.
|
|
80
|
+
|
|
81
|
+
---
|
|
82
|
+
|
|
83
|
+
## ๐๏ธ Tribunal Integration (Anti-Hallucination)
|
|
84
|
+
|
|
85
|
+
**Active reviewers: `frontend-reviewer` ยท `motion-reviewer`**
|
|
86
|
+
|
|
87
|
+
### โ
Pre-Flight Self-Audit
|
|
88
|
+
|
|
89
|
+
```
|
|
90
|
+
โ
Are interactive component feedback durations under 180ms?
|
|
91
|
+
โ
Are popover/dropdown transform origins explicitly tied to their trigger?
|
|
92
|
+
โ
Is checkmark SVG stroke-dasharray used for crisp checkbox check animation?
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
### ๐ Verification-Before-Completion (VBC) Protocol
|
|
96
|
+
|
|
97
|
+
**CRITICAL:** You must follow a strict "evidence-based closeout" state machine.
|
|
98
|
+
|
|
99
|
+
- โ **Forbidden:** Declaring a task complete because the output "looks correct."
|
|
100
|
+
- โ
**Required:** You are explicitly forbidden from finalizing any task without providing **concrete evidence** (terminal output, passing tests, compile success, or equivalent proof) that your output works as intended.
|