@aryaminus/controlkeel-opencode 0.3.31 → 0.3.33

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.
@@ -0,0 +1,42 @@
1
+ # PR Reviewability Checklist
2
+
3
+ Walk this checklist when diagnosing whether a PR is ready for review. Each item
4
+ lists a concrete check. Use `ck_validate` for automated scanning, then manually
5
+ verify items requiring judgment.
6
+
7
+ ## Commit History
8
+
9
+ - **Single-intent commits**: Each commit should express one coherent change. If a commit mixes schema changes, UI tweaks, and test updates, flag it for splitting.
10
+ - **Descriptive subjects**: Every commit subject should answer "what does this change?" without opening the diff. Avoid subjects like "fix", "update", or "wip".
11
+ - **Dependency order**: Commits should follow a logical order: schema → service → API → UI → tests. Out-of-order commits make the reviewer reconstruct the timeline.
12
+ - **No dead commits**: Reverted commits, "fix previous commit", or "oops" commits add noise. Squash or reorder before review.
13
+
14
+ ## PR Description
15
+
16
+ - **TL;DR present**: One sentence describing the diff's purpose, matching the actual changes.
17
+ - **Core files listed**: The 3-7 files a reviewer should read carefully, separated from mechanical changes.
18
+ - **Risk callouts**: Migration order, behavior changes, rollout dependencies, or missing test coverage.
19
+ - **Context links**: Issue tracker, design doc, dashboard, or prior PR that explains the intent.
20
+ - **Testing instructions**: How to verify the change locally (commands, seed data, specific routes).
21
+
22
+ ## Diff Structure
23
+
24
+ - **Mechanical vs logic separation**: Formatting, generated files, or boilerplate should be in separate commits from logic changes. Reviewers should not hunt for the real change.
25
+ - **Unrelated changes removed**: If the branch contains changes for a different feature or fix, move them to a separate branch.
26
+ - **Test coverage**: Core logic changes must have corresponding test changes. If tests are missing, flag it as a reviewability issue.
27
+ - **File count reasonable**: More than 15 changed files signals the PR may need splitting. More than 30 is a strong signal to split.
28
+
29
+ ## Reviewer Entry Points
30
+
31
+ - **Main entry file identified**: Which file should the reviewer read first? Add this to the PR description.
32
+ - **Complex sections annotated**: Non-obvious algorithms, workarounds, or trade-offs should have inline comments explaining the "why".
33
+ - **Migration safety**: If the PR includes migrations, note the rollback plan and any data migration concerns.
34
+
35
+ ## Blocking Conditions
36
+
37
+ Do not proceed with reviewability improvements if:
38
+
39
+ - `ck_validate` returns blocked findings — fix those first
40
+ - The PR contains behavior changes hidden as cleanup
41
+ - The tree hash changes after history cleanup (content was accidentally modified)
42
+ - The branch depends on unmerged work from another branch
@@ -0,0 +1,60 @@
1
+ ---
2
+ name: standup-summary
3
+ description: "Summarize work completed over a time period using git commits + CK session data. Trigger: 'what did I get done', 'standup', 'weekly summary', 'status update'."
4
+ when_to_use: "Activate ONLY when the user asks for a work summary over a time range. Do NOT auto-trigger during coding or review tasks."
5
+ argument-hint: "[time period: yesterday, last 3 days, last week]"
6
+ disable-model-invocation: true
7
+ license: Apache-2.0
8
+ compatibility:
9
+ - opencode-native
10
+ - claude-standalone
11
+ - cursor-native
12
+ - codex
13
+ metadata:
14
+ author: controlkeel
15
+ version: "1.1"
16
+ category: reporting
17
+ ck_mcp_tools: [ck_session_digest, ck_engineer_mirror, ck_memory_search]
18
+ related_skills: [proof-memory]
19
+ ---
20
+
21
+ # Standup Summary
22
+
23
+ Summarize work over a time period. Enriches git log with CK session data for richer context than git alone.
24
+
25
+ ## Do NOT use when
26
+ - During coding, review, or planning tasks
27
+ - The user wants code changes (not a summary)
28
+
29
+ ## Workflow
30
+
31
+ 1. Resolve time window from user input. Default: yesterday.
32
+ 2. Read git commits by current user in range:
33
+ ```
34
+ git log --author="$(git config user.email)" --since="<start>" --until="<end>" --no-merges --format="%h %s"
35
+ ```
36
+ 3. Enrich with CK data:
37
+ - `ck_session_digest` (mode: `generate`) for session tasks, findings, budget
38
+ - `ck_engineer_mirror` for daily reflection and approval patterns
39
+ - `ck_memory_search` for active decisions in the time window
40
+ 4. Synthesize: prioritize substantial changes, omit cosmetic-only.
41
+ 5. Output format:
42
+ ```
43
+ ## Standup: <start> – <end>
44
+ <one sentence summary>
45
+ ### Shipped
46
+ - <2-5 bullets, major changes only>
47
+ ### In progress / Blocked
48
+ - <if any>
49
+ ```
50
+
51
+ ## Guardrails
52
+
53
+ - Every bullet traces to a commit or CK record — no fabrication
54
+ - Do not infer intent — describe changes functionally
55
+ - If no activity in range, say so clearly
56
+
57
+ ## Output
58
+
59
+ - Concise status update with real date range
60
+ - 2-5 major bullets for substantial changes
@@ -0,0 +1,53 @@
1
+ ---
2
+ name: tdd-bugfix
3
+ description: "Reproduce → root-cause → failing test → minimal fix → verify. Trigger: 'fix this bug', 'reproduce and fix', 'TDD fix'. Requires a local test path."
4
+ when_to_use: "Activate when fixing a bug WITH a cheap local test path. Do NOT use for design tasks, features, or bugs requiring manual browser reproduction."
5
+ argument-hint: "[bug description or failing test path]"
6
+ disable-model-invocation: true
7
+ license: Apache-2.0
8
+ compatibility:
9
+ - opencode-native
10
+ - claude-standalone
11
+ - cursor-native
12
+ - codex
13
+ metadata:
14
+ author: controlkeel
15
+ version: "1.1"
16
+ category: development
17
+ ck_mcp_tools: [ck_validate, ck_finding, ck_git_diff, ck_git_commit, ck_memory_record]
18
+ related_skills: [deep-code-quality-review]
19
+ ---
20
+
21
+ # TDD Bugfix
22
+
23
+ Test-first bug fix. Failing test proves the bug, fix makes it pass, runtime evidence confirms.
24
+
25
+ ## Do NOT use when
26
+ - No local test path exists (manual browser testing, production-only bugs)
27
+ - Building features (use `architect-first` then `plan-slice`)
28
+ - Refactoring (use `deep-code-quality-review`)
29
+
30
+ ## Workflow
31
+
32
+ 1. **Reproduce**: Trace the code path to the defect. Write a minimal test that fails. Run it to confirm failure.
33
+ 2. **Root-cause**: Follow [root-cause checklist](references/root-cause-checklist.md). Record root cause via `ck_memory_record` (type: `finding`).
34
+ 3. **Failing test**: Write a test that demonstrates the bug. Must be: minimal, deterministic, clearly named. Confirm it fails.
35
+ 4. **Validate test**: Run `ck_validate` on the test code. Fix findings.
36
+ 5. **Minimal fix**: Smallest change to make the test pass. No refactoring, no improvements. Record improvement ideas via `ck_memory_record` for later.
37
+ 6. **Verify**: Failing test passes. Full suite passes (`mix test`). Zero new failures.
38
+ 7. **Validate fix**: Run `ck_validate` on the diff. Record findings.
39
+ 8. **Commit**: `ck_git_commit` with message referencing the bug and test.
40
+
41
+ ## Rules
42
+
43
+ - Test first, fix second — no exceptions
44
+ - Minimal fix only — refactoring is a separate commit
45
+ - No `Process.sleep/1` in tests — use monitors or `:sys.get_state/1`
46
+ - Root-cause, not symptom — fix the cause or record deeper issue as `ck_finding`
47
+
48
+ ## Output
49
+
50
+ - Failing test proving the bug
51
+ - Minimal fix making test pass
52
+ - Full suite passing
53
+ - Root cause recorded in memory
@@ -0,0 +1,28 @@
1
+ # Root-Cause Checklist
2
+
3
+ Walk this checklist during root-cause analysis. Do not stop at the first
4
+ symptom — trace each layer until the actual cause is identified.
5
+
6
+ ## Symptom → Cause Tracing
7
+
8
+ - **What is the observed failure?** Describe the exact symptom: error message, wrong output, crash, timing issue.
9
+ - **Where does it manifest?** File, function, line number. The error location is often not the root cause location.
10
+ - **What changed recently?** Check `git log --oneline -10` for the relevant area. Often a recent commit introduced the regression.
11
+ - **What is the data flow?** Trace inputs → processing → outputs. Where does the wrong value first appear?
12
+
13
+ ## Common Root Causes
14
+
15
+ - **Nil / missing value**: A field was not preloaded, a map key was missing, a function returned `nil` unexpectedly.
16
+ - **Wrong boundary condition**: Off-by-one, empty list, zero value, first/last element not handled.
17
+ - **Race condition**: State read before write completes, async operation not awaited, process not alive.
18
+ - **Type mismatch**: String vs atom, integer vs float, struct vs map. Check function heads and pattern matches.
19
+ - **Schema migration not run**: Column missing, constraint not applied, index not created.
20
+ - **Wrong scope or context**: Function called with the wrong module, variable shadowed, import conflict.
21
+ - **Stale cache or compiled code**: Old bytecode, stale process dictionary, cached value not invalidated.
22
+ - **External dependency change**: API response format changed, dependency version bumped, config drift.
23
+
24
+ ## Verification
25
+
26
+ - **Can you reproduce it deterministically?** If not, the root cause is not yet understood.
27
+ - **Does the fix address the root cause?** If you fix a symptom without the root cause, the bug will recur in a different form.
28
+ - **Are there other code paths with the same root cause?** Search for the pattern across the codebase. If found, record as a `ck_finding` with `correctness.same_root_cause`.
package/package.json CHANGED
@@ -35,5 +35,5 @@
35
35
  "url": "git+https://github.com/aryaminus/controlkeel.git"
36
36
  },
37
37
  "type": "module",
38
- "version": "0.3.31"
38
+ "version": "0.3.33"
39
39
  }