cc-codeconductor 1.4.1 → 1.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +61 -13
- package/dist/core/verification/rdd-receipt.d.ts +39 -0
- package/dist/core/verification/verification-runner.d.ts +8 -2
- package/dist/index.d.ts +2 -0
- package/dist/index.js +1257 -330
- package/dist/library.js +267 -26
- package/dist/validation/schemas.d.ts +521 -26
- package/docs/generated/cli.md +20 -0
- package/package.json +1 -1
- package/presets/agy/AGENTS.md +6 -0
- package/presets/agy/README.md +1 -1
- package/presets/agy/hooks.json +1 -1
- package/presets/agy/scripts/invoke-hook.cjs +20 -5
- package/presets/agy/settings.json +1 -1
- package/presets/agy/skills/api-versioning/SKILL.md +394 -0
- package/presets/agy/skills/astro/SKILL.md +318 -0
- package/presets/agy/skills/auth-token-inspector/SKILL.md +30 -0
- package/presets/agy/skills/cc-pagespeed/SKILL.md +2 -3
- package/presets/agy/skills/code-review/SKILL.md +207 -0
- package/presets/agy/skills/django-orm/SKILL.md +460 -0
- package/presets/agy/skills/django-uv/SKILL.md +405 -0
- package/presets/agy/skills/drizzle-schema-architect/SKILL.md +50 -0
- package/presets/agy/skills/fastapi-pydantic-strict/SKILL.md +43 -0
- package/presets/agy/skills/jpa-nplusone-detector/SKILL.md +45 -0
- package/presets/agy/skills/jpa-postgres/SKILL.md +623 -0
- package/presets/agy/skills/livewire-alpine-bridge/SKILL.md +35 -0
- package/presets/agy/skills/nextjs-typescript/SKILL.md +390 -0
- package/presets/agy/skills/python/SKILL.md +611 -0
- package/presets/agy/skills/seo-analytics-injector/SKILL.md +43 -0
- package/presets/agy/skills/spring-auth-auditor/SKILL.md +29 -0
- package/presets/agy/skills/spring-boot-feature/SKILL.md +563 -0
- package/presets/agy/skills/spring-boot-testing-strategy/SKILL.md +475 -0
- package/presets/agy/skills/tailwind-responsive-auditor/SKILL.md +29 -0
- package/presets/agy/skills/tdd-mutation-tester/SKILL.md +27 -0
- package/presets/agy/workflows/cc-handoff.md +2 -1
- package/presets/agy/workflows/cc-odd.md +15 -0
- package/presets/agy/workflows/cc-pagespeed.md +2 -3
- package/presets/agy/workflows/cc-review.md +31 -0
- package/presets/agy/workflows/cc-security.md +1 -1
- package/presets/claude/CLAUDE.md +6 -0
- package/presets/claude/commands/cc/handoff.md +2 -1
- package/presets/claude/commands/cc/odd.md +15 -0
- package/presets/claude/commands/cc/review.md +33 -0
- package/presets/claude/settings.json +2 -2
- package/presets/claude/skills/android/SKILL.md +1 -1
- package/presets/claude/skills/api-versioning/SKILL.md +1 -1
- package/presets/claude/skills/astro/SKILL.md +318 -0
- package/presets/claude/skills/auth-token-inspector/SKILL.md +30 -0
- package/presets/claude/skills/code-review/SKILL.md +207 -0
- package/presets/claude/skills/django-orm/SKILL.md +1 -1
- package/presets/claude/skills/django-testing/SKILL.md +1 -1
- package/presets/claude/skills/django-uv/SKILL.md +405 -0
- package/presets/claude/skills/drizzle-schema-architect/SKILL.md +50 -0
- package/presets/claude/skills/fastapi-pydantic-strict/SKILL.md +43 -0
- package/presets/claude/skills/jpa-nplusone-detector/SKILL.md +45 -0
- package/presets/claude/skills/jpa-postgres/SKILL.md +1 -1
- package/presets/claude/skills/livewire-alpine-bridge/SKILL.md +35 -0
- package/presets/claude/skills/nextjs-typescript/SKILL.md +390 -0
- package/presets/claude/skills/pagespeed-perf/SKILL.md +1 -1
- package/presets/claude/skills/python/SKILL.md +1 -1
- package/presets/claude/skills/python-django-stack/SKILL.md +1 -1
- package/presets/claude/skills/python-fastapi-stack/SKILL.md +1 -1
- package/presets/claude/skills/security/SKILL.md +1 -1
- package/presets/claude/skills/seo-analytics-injector/SKILL.md +43 -0
- package/presets/claude/skills/spring-auth-auditor/SKILL.md +29 -0
- package/presets/claude/skills/spring-boot-feature/SKILL.md +1 -1
- package/presets/claude/skills/spring-boot-kotlin/SKILL.md +1 -1
- package/presets/claude/skills/spring-boot-testing-strategy/SKILL.md +475 -0
- package/presets/claude/skills/sqlalchemy/SKILL.md +1 -1
- package/presets/claude/skills/tailwind-responsive-auditor/SKILL.md +29 -0
- package/presets/claude/skills/tdd-mutation-tester/SKILL.md +27 -0
- package/presets/claude/skills/testing-strategy/SKILL.md +1 -1
- package/presets/codex/AGENTS.md +6 -0
- package/presets/codex/skills/android/SKILL.md +1 -1
- package/presets/codex/skills/api-versioning/SKILL.md +1 -1
- package/presets/codex/skills/astro/SKILL.md +318 -0
- package/presets/codex/skills/auth-token-inspector/SKILL.md +30 -0
- package/presets/codex/skills/cc-handoff/SKILL.md +3 -1
- package/presets/codex/skills/cc-odd/SKILL.md +25 -0
- package/presets/codex/skills/cc-openspec/SKILL.md +5 -1
- package/presets/codex/skills/cc-pagespeed/SKILL.md +2 -3
- package/presets/codex/skills/cc-review/SKILL.md +31 -0
- package/presets/codex/skills/cc-security/SKILL.md +1 -1
- package/presets/codex/skills/cc-spec-mutation/SKILL.md +5 -0
- package/presets/codex/skills/cc-tdd-cycle/SKILL.md +8 -0
- package/presets/codex/skills/code-review/SKILL.md +207 -0
- package/presets/codex/skills/django-orm/SKILL.md +1 -1
- package/presets/codex/skills/django-testing/SKILL.md +1 -1
- package/presets/codex/skills/django-uv/SKILL.md +405 -0
- package/presets/codex/skills/drizzle-schema-architect/SKILL.md +50 -0
- package/presets/codex/skills/fastapi-pydantic-strict/SKILL.md +43 -0
- package/presets/codex/skills/jpa-nplusone-detector/SKILL.md +45 -0
- package/presets/codex/skills/jpa-postgres/SKILL.md +1 -1
- package/presets/codex/skills/livewire-alpine-bridge/SKILL.md +35 -0
- package/presets/codex/skills/nextjs-typescript/SKILL.md +390 -0
- package/presets/codex/skills/pagespeed-perf/SKILL.md +1 -1
- package/presets/codex/skills/python/SKILL.md +1 -1
- package/presets/codex/skills/python-django-stack/SKILL.md +1 -1
- package/presets/codex/skills/python-fastapi-stack/SKILL.md +1 -1
- package/presets/codex/skills/security-ai-llm/SKILL.md +43 -0
- package/presets/codex/skills/security-blue-team/SKILL.md +43 -0
- package/presets/codex/skills/security-cloud/SKILL.md +43 -0
- package/presets/codex/skills/security-crypto/SKILL.md +43 -0
- package/presets/codex/skills/security-exploit-dev/SKILL.md +45 -0
- package/presets/codex/skills/security-grc/SKILL.md +43 -0
- package/presets/codex/skills/security-incident-response/SKILL.md +45 -0
- package/presets/codex/skills/security-log-analysis/SKILL.md +43 -0
- package/presets/codex/skills/security-malware-analysis/SKILL.md +44 -0
- package/presets/codex/skills/security-mobile/SKILL.md +43 -0
- package/presets/codex/skills/security-network/SKILL.md +43 -0
- package/presets/codex/skills/security-ot-ics/SKILL.md +43 -0
- package/presets/codex/skills/security-recon/SKILL.md +45 -0
- package/presets/codex/skills/security-red-team/SKILL.md +44 -0
- package/presets/codex/skills/security-reverse-engineering/SKILL.md +44 -0
- package/presets/codex/skills/security-soc-automation/SKILL.md +43 -0
- package/presets/codex/skills/security-threat-hunting/SKILL.md +43 -0
- package/presets/codex/skills/security-vuln-assessment/SKILL.md +45 -0
- package/presets/codex/skills/security-web/SKILL.md +44 -0
- package/presets/codex/skills/seo-analytics-injector/SKILL.md +43 -0
- package/presets/codex/skills/spring-auth-auditor/SKILL.md +29 -0
- package/presets/codex/skills/spring-boot-feature/SKILL.md +2 -2
- package/presets/codex/skills/spring-boot-kotlin/SKILL.md +1 -1
- package/presets/codex/skills/spring-boot-testing-strategy/SKILL.md +475 -0
- package/presets/codex/skills/sqlalchemy/SKILL.md +1 -1
- package/presets/codex/skills/tailwind-responsive-auditor/SKILL.md +29 -0
- package/presets/codex/skills/tdd-mutation-tester/SKILL.md +27 -0
- package/presets/codex/skills/testing-strategy/SKILL.md +1 -1
- package/presets/cursor/AGENTS.md +6 -0
- package/presets/cursor/commands/cc/handoff.md +3 -1
- package/presets/cursor/commands/cc/odd.md +20 -0
- package/presets/cursor/commands/cc/openspec.md +5 -1
- package/presets/cursor/commands/cc/pagespeed.md +2 -3
- package/presets/cursor/commands/cc/review.md +31 -0
- package/presets/cursor/commands/cc/security.md +1 -1
- package/presets/cursor/commands/cc/spec-mutation.md +5 -0
- package/presets/cursor/commands/cc/tdd-cycle.md +8 -0
- package/presets/cursor/skills/android/SKILL.md +1 -1
- package/presets/cursor/skills/api-versioning/SKILL.md +2 -1
- package/presets/cursor/skills/astro/SKILL.md +1 -1
- package/presets/cursor/skills/auth-token-inspector/SKILL.md +1 -1
- package/presets/cursor/skills/code-review/SKILL.md +1 -1
- package/presets/cursor/skills/django-orm/SKILL.md +3 -5
- package/presets/cursor/skills/django-testing/SKILL.md +1 -1
- package/presets/cursor/skills/django-uv/SKILL.md +1 -1
- package/presets/cursor/skills/drizzle-schema-architect/SKILL.md +1 -1
- package/presets/cursor/skills/fastapi-pydantic-strict/SKILL.md +1 -1
- package/presets/cursor/skills/jpa-nplusone-detector/SKILL.md +1 -1
- package/presets/cursor/skills/jpa-postgres/SKILL.md +2 -4
- package/presets/cursor/skills/livewire-alpine-bridge/SKILL.md +1 -1
- package/presets/cursor/skills/nextjs-typescript/SKILL.md +1 -1
- package/presets/cursor/skills/pagespeed-perf/SKILL.md +1 -1
- package/presets/cursor/skills/python/SKILL.md +6 -7
- package/presets/cursor/skills/python-django-stack/SKILL.md +1 -1
- package/presets/cursor/skills/python-fastapi-stack/SKILL.md +1 -1
- package/presets/cursor/skills/security/SKILL.md +1 -1
- package/presets/cursor/skills/seo-analytics-injector/SKILL.md +1 -1
- package/presets/cursor/skills/spring-auth-auditor/SKILL.md +1 -1
- package/presets/cursor/skills/spring-boot-feature/SKILL.md +2 -4
- package/presets/cursor/skills/spring-boot-kotlin/SKILL.md +1 -1
- package/presets/cursor/skills/spring-boot-testing-strategy/SKILL.md +1 -1
- package/presets/cursor/skills/sqlalchemy/SKILL.md +1 -1
- package/presets/cursor/skills/tailwind-responsive-auditor/SKILL.md +1 -1
- package/presets/cursor/skills/tdd-mutation-tester/SKILL.md +1 -1
- package/presets/gemini/GEMINI.md +6 -0
- package/presets/gemini/commands/cc/handoff.toml +3 -1
- package/presets/gemini/commands/cc/odd.toml +20 -0
- package/presets/gemini/commands/cc/openspec.toml +5 -1
- package/presets/gemini/commands/cc/pagespeed.toml +2 -3
- package/presets/gemini/commands/cc/review.toml +31 -0
- package/presets/gemini/commands/cc/security.toml +1 -1
- package/presets/gemini/commands/cc/spec-mutation.toml +5 -0
- package/presets/gemini/commands/cc/tdd-cycle.toml +8 -0
- package/presets/opencode/README.md +45 -52
- package/presets/opencode/agents/implementer.md +2 -0
- package/presets/opencode/agents/reviewer.md +2 -0
- package/presets/opencode/agents/tester.md +2 -0
- package/presets/opencode/commands/cc-handoff.md +2 -1
- package/presets/opencode/commands/cc-odd.md +15 -0
- package/presets/opencode/commands/cc-pagespeed.md +2 -3
- package/presets/opencode/commands/cc-review.md +31 -0
- package/presets/opencode/commands/cc-security.md +1 -1
- package/presets/opencode/opencode.jsonc +1 -1
- package/presets/opencode/skills/android/SKILL.md +1 -1
- package/presets/opencode/skills/api-versioning/SKILL.md +2 -1
- package/presets/opencode/skills/astro/SKILL.md +1 -1
- package/presets/opencode/skills/auth-token-inspector/SKILL.md +1 -1
- package/presets/opencode/skills/code-review/SKILL.md +1 -1
- package/presets/opencode/skills/django-orm/SKILL.md +3 -3
- package/presets/opencode/skills/django-testing/SKILL.md +1 -1
- package/presets/opencode/skills/django-uv/SKILL.md +1 -1
- package/presets/opencode/skills/drizzle-schema-architect/SKILL.md +1 -1
- package/presets/opencode/skills/fastapi-pydantic-strict/SKILL.md +1 -1
- package/presets/opencode/skills/jpa-nplusone-detector/SKILL.md +1 -1
- package/presets/opencode/skills/jpa-postgres/SKILL.md +2 -1
- package/presets/opencode/skills/livewire-alpine-bridge/SKILL.md +1 -1
- package/presets/opencode/skills/nextjs-typescript/SKILL.md +1 -1
- package/presets/opencode/skills/pagespeed-perf/SKILL.md +1 -1
- package/presets/opencode/skills/python/SKILL.md +6 -5
- package/presets/opencode/skills/python-django-stack/SKILL.md +1 -1
- package/presets/opencode/skills/python-fastapi-stack/SKILL.md +1 -1
- package/presets/opencode/skills/security/SKILL.md +1 -1
- package/presets/opencode/skills/seo-analytics-injector/SKILL.md +1 -1
- package/presets/opencode/skills/spring-auth-auditor/SKILL.md +1 -1
- package/presets/opencode/skills/spring-boot-feature/SKILL.md +2 -1
- package/presets/opencode/skills/spring-boot-kotlin/SKILL.md +1 -1
- package/presets/opencode/skills/spring-boot-testing-strategy/SKILL.md +1 -1
- package/presets/opencode/skills/sqlalchemy/SKILL.md +1 -1
- package/presets/opencode/skills/tailwind-responsive-auditor/SKILL.md +1 -1
- package/presets/opencode/skills/tdd-mutation-tester/SKILL.md +1 -1
- package/presets/pi/AGENTS.md +6 -0
- package/presets/seo-hotel/skills/astro-seo/SKILL.md +1 -1
- package/presets/seo-hotel/skills/geo-readiness/SKILL.md +1 -1
- package/presets/seo-hotel/skills/off-page/SKILL.md +1 -1
- package/presets/seo-hotel/skills/schema-validator/SKILL.md +1 -1
- package/presets/seo-hotel/skills/seo-audit/SKILL.md +1 -1
- package/presets/shared/invoke-hook.cjs +20 -5
- package/src/presets/models/roles.yml +28 -28
- package/src/presets/shared-skills.yml +58 -22
- package/src/presets/targets/pi.yml +1 -0
|
@@ -68,6 +68,14 @@ runner) — do not hand-edit JSON under `.codeconductor/evidence/`.
|
|
|
68
68
|
|
|
69
69
|
Do not advance phases until that evidence exists.
|
|
70
70
|
|
|
71
|
+
### Receipt-Driven Development
|
|
72
|
+
|
|
73
|
+
Run the verification runner with the matching `phase` (`red`, `green`, or
|
|
74
|
+
`refactor`). It records an RDD receipt for the complete candidate. Before a
|
|
75
|
+
handoff, phase transition, or final review, verify that receipt. A changed
|
|
76
|
+
source, test, contract, lockfile, or runner configuration invalidates it and
|
|
77
|
+
requires the affected phase to run again.
|
|
78
|
+
|
|
71
79
|
---
|
|
72
80
|
|
|
73
81
|
## Phase 1 — RED (Tester role)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
id: android
|
|
3
|
-
name:
|
|
3
|
+
name: android
|
|
4
4
|
description: >
|
|
5
5
|
Provides expert knowledge for building modern native Android apps using Kotlin, Jetpack Compose, Material Design 3, MVI architecture, Hilt dependency injection, and Media3/ExoPlayer.
|
|
6
6
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
id: api-versioning
|
|
3
|
-
name:
|
|
3
|
+
name: api-versioning
|
|
4
4
|
description: >
|
|
5
5
|
Provides expert knowledge for designing, implementing, and managing REST API
|
|
6
6
|
versioning strategies with deprecation workflows.
|
|
@@ -39,6 +39,7 @@ quality:
|
|
|
39
39
|
reviewed_by: codeconductor-core
|
|
40
40
|
version: 0.1.0
|
|
41
41
|
---
|
|
42
|
+
|
|
42
43
|
# API Versioning
|
|
43
44
|
|
|
44
45
|
## Versioning Strategies
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
id: django-orm
|
|
3
|
-
name:
|
|
3
|
+
name: django-orm
|
|
4
4
|
description: >
|
|
5
5
|
Django ORM patterns for multi-tenant POS projects: efficient queries,
|
|
6
6
|
bulk operations, transactions, and multi-schema upload paths.
|
|
@@ -40,9 +40,8 @@ outputs:
|
|
|
40
40
|
quality:
|
|
41
41
|
reviewed_by: codeconductor-core
|
|
42
42
|
version: 0.1.0
|
|
43
|
-
paths:
|
|
44
|
-
- "**/*.py"
|
|
45
43
|
---
|
|
44
|
+
|
|
46
45
|
## When to Use
|
|
47
46
|
|
|
48
47
|
- Writing or reviewing queryset code in any `apps/*/`
|
|
@@ -458,5 +457,4 @@ def on_order_save(sender, instance, created, **kwargs):
|
|
|
458
457
|
- **Annotation examples**: `apps/pos/views.py` lines 59-75
|
|
459
458
|
- **Exists usage**: `apps/catalog/views.py` line 112
|
|
460
459
|
- **Upload paths**: `apps/catalog/models.py`
|
|
461
|
-
- **Django ORM docs**:
|
|
462
|
-
<https://docs.djangoproject.com/en/5.2/topics/db/queries/>
|
|
460
|
+
- **Django ORM docs**: https://docs.djangoproject.com/en/5.2/topics/db/queries/
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
id: jpa-postgres
|
|
3
|
-
name:
|
|
3
|
+
name: jpa-postgres
|
|
4
4
|
description: >
|
|
5
5
|
Provides expert knowledge of JPA entity design, relationship mapping, Flyway
|
|
6
6
|
migrations, and PostgreSQL-specific optimizations.
|
|
@@ -40,10 +40,8 @@ outputs:
|
|
|
40
40
|
quality:
|
|
41
41
|
reviewed_by: codeconductor-core
|
|
42
42
|
version: 0.1.0
|
|
43
|
-
paths:
|
|
44
|
-
- "**/*.kt"
|
|
45
|
-
- "**/*.java"
|
|
46
43
|
---
|
|
44
|
+
|
|
47
45
|
# JPA + PostgreSQL
|
|
48
46
|
|
|
49
47
|
## Entity Design
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
id: python
|
|
3
|
-
name:
|
|
3
|
+
name: python
|
|
4
4
|
description: >
|
|
5
5
|
Python development best practices: clean code, patterns,
|
|
6
6
|
type hints, decorators, context managers, and architecture.
|
|
@@ -39,9 +39,8 @@ outputs:
|
|
|
39
39
|
quality:
|
|
40
40
|
reviewed_by: codeconductor-core
|
|
41
41
|
version: 0.1.0
|
|
42
|
-
paths:
|
|
43
|
-
- "**/*.py"
|
|
44
42
|
---
|
|
43
|
+
|
|
45
44
|
## When to Use
|
|
46
45
|
|
|
47
46
|
- Writing any Python code in the project
|
|
@@ -606,7 +605,7 @@ items = items_to_keep
|
|
|
606
605
|
|
|
607
606
|
## Resources
|
|
608
607
|
|
|
609
|
-
- **PEP 8** — Style Guide:
|
|
610
|
-
- **PEP 484** — Type Hints:
|
|
611
|
-
- **Real Python**:
|
|
612
|
-
- **Python Docs**:
|
|
608
|
+
- **PEP 8** — Style Guide: https://peps.python.org/pep-0008/
|
|
609
|
+
- **PEP 484** — Type Hints: https://peps.python.org/pep-0484/
|
|
610
|
+
- **Real Python**: https://realpython.com/
|
|
611
|
+
- **Python Docs**: https://docs.python.org/3/
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
id: spring-boot-feature
|
|
3
|
-
name:
|
|
3
|
+
name: spring-boot-feature
|
|
4
4
|
description: >
|
|
5
5
|
Guides the creation of complete Spring Boot features following a structured,
|
|
6
6
|
layer-by-layer workflow: entity, repository, service, controller, and tests.
|
|
@@ -43,10 +43,8 @@ outputs:
|
|
|
43
43
|
quality:
|
|
44
44
|
reviewed_by: codeconductor-core
|
|
45
45
|
version: 0.1.0
|
|
46
|
-
paths:
|
|
47
|
-
- "**/*.kt"
|
|
48
|
-
- "**/build.gradle.kts"
|
|
49
46
|
---
|
|
47
|
+
|
|
50
48
|
# Spring Boot Feature Creation
|
|
51
49
|
|
|
52
50
|
When asked to create a feature, follow these steps **in order**. Do not skip
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
id: spring-boot-testing-strategy
|
|
3
|
-
name:
|
|
3
|
+
name: spring-boot-testing-strategy
|
|
4
4
|
description: >
|
|
5
5
|
Provides expert knowledge of the testing pyramid, test design principles, MockK patterns, and integration testing conventions for Spring Boot + Kotlin projects.
|
|
6
6
|
|
package/presets/gemini/GEMINI.md
CHANGED
|
@@ -35,4 +35,10 @@ intent to the right slash command.
|
|
|
35
35
|
- Do not skip the Reviewer step for medium- or high-risk changes.
|
|
36
36
|
- Do not store secrets in any file loaded by Gemini CLI.
|
|
37
37
|
|
|
38
|
+
## Receipt integrity
|
|
39
|
+
|
|
40
|
+
- For any implementation, test, review, handoff, or delivery decision, capture or verify the current RDD receipt with `bun run dev rdd`.
|
|
41
|
+
- A receipt is valid only for its exact candidate. If code, tests, contracts, or runner configuration changed, repeat the affected verification.
|
|
42
|
+
- TDD and Mutation Testing retain their existing gates; RDD verifies that their observed evidence still belongs to the current candidate.
|
|
43
|
+
|
|
38
44
|
<!-- CODECONDUCTOR:END managed -->
|
|
@@ -28,7 +28,9 @@ errors instead of pasting dumps. If unresolved credential material remains, stop
|
|
|
28
28
|
and wait for a human (CCEP `stopOnHighRisk`).
|
|
29
29
|
|
|
30
30
|
Include: goal, Task Card status (no secret fields), files touched, test
|
|
31
|
-
pass/fail (not log dumps), open questions,
|
|
31
|
+
pass/fail (not log dumps), open questions, the next `/cc:` command, plus links
|
|
32
|
+
to the Delivery Ledger and verification evidence when they exist. Do not repeat
|
|
33
|
+
the original request or transcript.
|
|
32
34
|
|
|
33
35
|
Do not edit source or tests.
|
|
34
36
|
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
description = "Create or resume an opt-in Delivery Ledger for substantial authorized work."
|
|
2
|
+
|
|
3
|
+
prompt = """
|
|
4
|
+
# /cc:odd
|
|
5
|
+
|
|
6
|
+
## Step 0 — CCEP Bootstrap
|
|
7
|
+
|
|
8
|
+
```bash
|
|
9
|
+
bun run dev ccep parse --command odd "{{args}}"
|
|
10
|
+
bun run dev ccep resolve --command odd "{{args}}"
|
|
11
|
+
bun run dev ccep profile --command odd
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
Create a ledger only after authorization and tracked coordination. Read-only and small work do not create state.
|
|
15
|
+
|
|
16
|
+
When ODD has verification evidence, include its RDD receipt in the ledger
|
|
17
|
+
handoff. On resume, verify it against the workspace before relying on a prior
|
|
18
|
+
test or review result. If it is stale, keep the ledger and repeat only the
|
|
19
|
+
invalidated verification.
|
|
20
|
+
"""
|
|
@@ -132,6 +132,10 @@ npx cc-codeconductor openspec archive <itemId>
|
|
|
132
132
|
|
|
133
133
|
`start` moves the card `pending → doing` and the item `PLANNED → IN_PROGRESS`. `done` marks the card complete, updates Progress, and moves the item to `REVIEW` when every card is done and review is required. `archive` requires all cards done (and review evidence when Global review is required) and moves `openspec/changes/<slug>` to `archive/`.
|
|
134
134
|
|
|
135
|
+
For test and implementation cards, `done` also requires a current RDD-backed
|
|
136
|
+
RED or GREEN receipt respectively. Do not reuse evidence after candidate files
|
|
137
|
+
change; capture and verify the matching receipt again.
|
|
138
|
+
|
|
135
139
|
---
|
|
136
140
|
|
|
137
141
|
## Step 5 — Model matrix and execute loop
|
|
@@ -204,5 +208,5 @@ Report completion: Task Cards executed, scorecard verdict, change folder path, f
|
|
|
204
208
|
|
|
205
209
|
## Skill
|
|
206
210
|
|
|
207
|
-
Apply `.
|
|
211
|
+
Apply `.gemini/skills/openspec/SKILL.md` for backlog format rules and state transitions.
|
|
208
212
|
"""
|
|
@@ -66,9 +66,8 @@ the following steps in order:
|
|
|
66
66
|
the output filename: `{YYYY-MM-DD}_pagespeed-{hostname}-claude.md`.
|
|
67
67
|
|
|
68
68
|
2. **Collect** — Call the PageSpeed Insights API for the requested strategy
|
|
69
|
-
(`mobile`, `desktop`, or `both`)
|
|
70
|
-
|
|
71
|
-
Otherwise, use `WebFetch` to call the PSI endpoint directly.
|
|
69
|
+
(`mobile`, `desktop`, or `both`) using `WebFetch` to call the PSI endpoint
|
|
70
|
+
directly.
|
|
72
71
|
|
|
73
72
|
3. **Analyze** — Extract Core Web Vitals (LCP, INP, CLS, FCP, TTFB, TBT),
|
|
74
73
|
identify the LCP element, enumerate third-party scripts by blocking time,
|
|
@@ -110,6 +110,37 @@ Evaluate the diff against the following checklist:
|
|
|
110
110
|
|
|
111
111
|
---
|
|
112
112
|
|
|
113
|
+
## Severity Rubric
|
|
114
|
+
|
|
115
|
+
Classify every finding using these concrete anchors — not general judgment —
|
|
116
|
+
so the same finding gets the same category on any run.
|
|
117
|
+
|
|
118
|
+
**CRITICAL** (always):
|
|
119
|
+
|
|
120
|
+
- Unauthenticated access to a protected resource
|
|
121
|
+
- Injection (SQL, command, XSS) reachable from untrusted input
|
|
122
|
+
- A secret or credential present in the diff
|
|
123
|
+
- A destructive operation with no confirmation
|
|
124
|
+
- The build or test suite is broken
|
|
125
|
+
- A direct contradiction of an explicit acceptance criterion
|
|
126
|
+
|
|
127
|
+
**WARNING**:
|
|
128
|
+
|
|
129
|
+
- Missing test for a new branch or edge case
|
|
130
|
+
- An error is silently swallowed — no log, no propagation
|
|
131
|
+
- A change outside the declared scope
|
|
132
|
+
- Inconsistent with an established pattern already in the module
|
|
133
|
+
- Missing input validation in an internal function (not exposed at a trust boundary)
|
|
134
|
+
|
|
135
|
+
**SUGGESTION**:
|
|
136
|
+
|
|
137
|
+
- Style or naming
|
|
138
|
+
- Minor readability
|
|
139
|
+
- Speculative refactor that wasn't requested
|
|
140
|
+
- Non-blocking micro-optimization
|
|
141
|
+
|
|
142
|
+
---
|
|
143
|
+
|
|
113
144
|
## Step 3 — Review Report
|
|
114
145
|
|
|
115
146
|
Produce a structured Review Report with findings in three categories:
|
|
@@ -59,7 +59,7 @@ If `graphify-out/graph.json` exists, run `graphify query "{{args}}"` (and
|
|
|
59
59
|
`graphify path` / `graphify explain` when needed). Then invoke `repo-explorer`
|
|
60
60
|
to map modules, conventions, and impact radius. Do not write code in this step.
|
|
61
61
|
Record a Repo Map artifact before intake. Load the matching `security-*` skill
|
|
62
|
-
for the named domain (see `.
|
|
62
|
+
for the named domain (see `.gemini/skills/security-*/SKILL.md`). Keep the OWASP
|
|
63
63
|
`security` skill for application-security reviews.
|
|
64
64
|
|
|
65
65
|
---
|
|
@@ -125,6 +125,11 @@ Verdict is binary: PASS continues to the mutation gate; REJECT returns to the
|
|
|
125
125
|
|
|
126
126
|
## Stage 5 — Mutation gate (`mutation_testing`)
|
|
127
127
|
|
|
128
|
+
RDD complements this gate: capture the candidate receipt before Mutation Testing
|
|
129
|
+
and verify it after the runner restores production source. A survivor opens a
|
|
130
|
+
new tester/reviewer-approved test revision; it never makes an earlier receipt
|
|
131
|
+
valid again.
|
|
132
|
+
|
|
128
133
|
Run the deterministic AST mutator shipped with this preset:
|
|
129
134
|
|
|
130
135
|
```bash
|
|
@@ -64,6 +64,14 @@ runner) — do not hand-edit JSON under `.codeconductor/evidence/`.
|
|
|
64
64
|
|
|
65
65
|
Do not advance phases until that evidence exists.
|
|
66
66
|
|
|
67
|
+
### Receipt-Driven Development
|
|
68
|
+
|
|
69
|
+
Run the verification runner with the matching `phase` (`red`, `green`, or
|
|
70
|
+
`refactor`). It records an RDD receipt for the complete candidate. Before a
|
|
71
|
+
handoff, phase transition, or final review, verify that receipt. A changed
|
|
72
|
+
source, test, contract, lockfile, or runner configuration invalidates it and
|
|
73
|
+
requires the affected phase to run again.
|
|
74
|
+
|
|
67
75
|
---
|
|
68
76
|
|
|
69
77
|
## Phase 1 — RED (Tester role)
|