devlyn-cli 4.3.30 → 4.3.31
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.md +1 -1
- package/CLAUDE.md +1 -1
- package/bin/instruction-templates.json +2 -0
- package/bin/skill-history.json +5 -1
- package/config/skills/_shared/runtime-principles.md +1 -1
- package/config/skills/devlyn-ideate/references/executor.md +1 -1
- package/harness/AGENTS.md +2 -2
- package/harness/CLAUDE.md +2 -2
- package/native/claude/.claude-plugin/plugin.json +1 -1
- package/native/claude/skills/_shared/runtime-principles.md +1 -1
- package/native/claude/skills/devlyn-ideate/references/executor.md +1 -1
- package/native/codex/.agents/plugins/marketplace.json +1 -1
- package/native/codex/plugins/devlyn/.codex-plugin/plugin.json +1 -1
- package/native/codex/plugins/devlyn/skills/_shared/runtime-principles.md +1 -1
- package/native/codex/plugins/devlyn/skills/devlyn-ideate/references/executor.md +1 -1
- package/optional-skills/code-review-standards/SKILL.md +10 -6
- package/package.json +1 -1
- package/release.json +20 -20
package/AGENTS.md
CHANGED
|
@@ -13,7 +13,7 @@ Seven rules govern every change. Cite them by name when a decision touches one.
|
|
|
13
13
|
1. **No workaround** — fix the root cause, never the symptom. No `any`, no `@ts-ignore`, no silent `catch`, no hardcoded fallback that hides a broken contract. No config bypasses.
|
|
14
14
|
2. **No overengineering** — smallest sufficient change, one responsibility per module. New abstractions need an observed failure. Subtractive-first: ask "what can I delete instead?" before writing anything new. Remove code your change makes unused; only report unrelated pre-existing dead code.
|
|
15
15
|
3. **No guesswork** — verify with the actual files, logs, diffs, and run output before forming conclusions. State the falsifiable prediction BEFORE the experiment; record raw results AFTER. Retroactive prediction edits are dishonest.
|
|
16
|
-
4. **Worldclass** — zero CRITICAL, zero HIGH
|
|
16
|
+
4. **Worldclass** — zero CRITICAL, zero HIGH findings on the shippable path; each must name a concrete case of wrong behavior or results, a security hole, or lost or corrupted data. A review is one pass on the source the checks ran on, by the reviewers the user requires, else by one reviewer who has not seen the author's reasoning. Fix each finding or reject it with a reason, and verify every edit and the invariants it touches. Only a CRITICAL or HIGH calls for another reviewer pass, which reads the fixes, the rejections and the invariants they touch. If one survives that pass, or its fix caused a new one, repair once more; if the next pass finds either again, stop: the work does not ship and is reported blocked.
|
|
17
17
|
5. **Best practice** — idiomatic for the language and framework. Use standard primitives; do not hand-roll what the library already provides.
|
|
18
18
|
6. **Optimized** — efficient on the resource that matters (the user's time, tokens, attention, runtime) without weakening correctness or requirements. An extra check or process step must beat the simpler path.
|
|
19
19
|
7. **Production ready** — error states are explicit and visible; behavior under failure is what the user expects, not silent corruption.
|
package/CLAUDE.md
CHANGED
|
@@ -13,7 +13,7 @@ Seven rules govern every change. Cite them by name when a decision touches one.
|
|
|
13
13
|
1. **No workaround** — fix the root cause, never the symptom. No `any`, no `@ts-ignore`, no silent `catch`, no hardcoded fallback that hides a broken contract. No config bypasses.
|
|
14
14
|
2. **No overengineering** — smallest sufficient change, one responsibility per module. New abstractions need an observed failure. Subtractive-first: ask "what can I delete instead?" before writing anything new. Remove code your change makes unused; only report unrelated pre-existing dead code.
|
|
15
15
|
3. **No guesswork** — verify with the actual files, logs, diffs, and run output before forming conclusions. State the falsifiable prediction BEFORE the experiment; record raw results AFTER. Retroactive prediction edits are dishonest.
|
|
16
|
-
4. **Worldclass** — zero CRITICAL, zero HIGH
|
|
16
|
+
4. **Worldclass** — zero CRITICAL, zero HIGH findings on the shippable path; each must name a concrete case of wrong behavior or results, a security hole, or lost or corrupted data. A review is one pass on the source the checks ran on, by the reviewers the user requires, else by one reviewer who has not seen the author's reasoning. Fix each finding or reject it with a reason, and verify every edit and the invariants it touches. Only a CRITICAL or HIGH calls for another reviewer pass, which reads the fixes, the rejections and the invariants they touch. If one survives that pass, or its fix caused a new one, repair once more; if the next pass finds either again, stop: the work does not ship and is reported blocked.
|
|
17
17
|
5. **Best practice** — idiomatic for the language and framework. Use standard primitives; do not hand-roll what the library already provides.
|
|
18
18
|
6. **Optimized** — efficient on the resource that matters (the user's time, tokens, attention, runtime) without weakening correctness or requirements. An extra check or process step must beat the simpler path.
|
|
19
19
|
7. **Production ready** — error states are explicit and visible; behavior under failure is what the user expects, not silent corruption.
|
|
@@ -469,6 +469,7 @@
|
|
|
469
469
|
"bddb4f88a0c11165b9cafe7a31027e9769313e1aee7c0a9ed9dad490e4fe1bcc",
|
|
470
470
|
"be11c198a50be2884c4c1efec52bbddff55c7547a5daf0ec2ef046279c95dc45",
|
|
471
471
|
"bfdb7c7e4db21e1c452e730cecadc8e97abd317c6e54ae58c298f4288b1f1354",
|
|
472
|
+
"c1970e6a96f0c4241907d29fb4cdf831ad255b2bbfdb5270fe0aefc32cb91f0d",
|
|
472
473
|
"c1a1e9722a0f3c13c693eeaacdac8cc3d13d36d242f2bab58311170496ea4e2e",
|
|
473
474
|
"c236da36a45d4013ffb7e131575229b605f662a30b5174f14754f519acc24252",
|
|
474
475
|
"c276962617888c5ac2d352c5e2ed018c5ce9d00f199c73e1dd61438ec4a914fb",
|
|
@@ -997,6 +998,7 @@
|
|
|
997
998
|
"c115b2ba9ec7abe2fa5261a5894e3c4899794b527f01ec682ae7fd2479199c08",
|
|
998
999
|
"c150c40a04099d7b726eb8aecc8eec8e92f9f9248a6a5c15556c08000c4bd231",
|
|
999
1000
|
"c16ff4fe013ee2cef905d767a09305d9c1b2f778a06b439f0bc4645ac05bc82b",
|
|
1001
|
+
"c1970e6a96f0c4241907d29fb4cdf831ad255b2bbfdb5270fe0aefc32cb91f0d",
|
|
1000
1002
|
"c1c7e45fedafb97770b6726539694eb0668c70677c2031fe2db2bc8b5339423a",
|
|
1001
1003
|
"c227759474dc46ec6df00fe7baf8ba4b6b0adc71f5068ef522ff46526c861a48",
|
|
1002
1004
|
"c27b13c3ae4e6fb34d9b28b8f4e899e29bfbf606a69207b9532d0e44e6078a2e",
|
package/bin/skill-history.json
CHANGED
|
@@ -12,6 +12,7 @@
|
|
|
12
12
|
"08c91060cfec04518de582599d1892ad50f6e6cec69aecd8678760c3e0039fa0",
|
|
13
13
|
"0a60dd9b96442be24a571dd5fe6cac426bba7dd7a06ad17f3211f4f9fd9b1741",
|
|
14
14
|
"0b5c3f72d18f8eea538bfef7192b207ff5cbac25c7e0d2ce080cc725bfdaa2e2",
|
|
15
|
+
"0d7e8097f36623f68b7cdc26e9c2eb80d9792b3776edf308d306febdfd9f26ae",
|
|
15
16
|
"0f397a4edd6b1b3063d27f6205dc6b3d069fa616624bccf661539b174535fc7e",
|
|
16
17
|
"110005e3c7052d35502186d907b169c9fc7c85d558ab7c7ad0ba2f0308aa7a5d",
|
|
17
18
|
"11ac38b21ecc139211af1b335bb3acc4f0f1bc4b5c133e81a80cafebcaaca298",
|
|
@@ -224,7 +225,8 @@
|
|
|
224
225
|
"3fe0742825aff05fa6fda49d3e3e0fbf5457307af944eb90f2771cbf611edd69",
|
|
225
226
|
"4a8bed603191eeb6834a5008691bb3942e77462abd2818340b808a752ee5a224",
|
|
226
227
|
"57c2481f9ae36623f59b365eae82f22d54253f8ba0fd690949a12858b5f6e308",
|
|
227
|
-
"b352d21d2a86def2997d89ae1ffa35b0fe428781f75cfa9e1b69a3384416ec31"
|
|
228
|
+
"b352d21d2a86def2997d89ae1ffa35b0fe428781f75cfa9e1b69a3384416ec31",
|
|
229
|
+
"be2562b5541d754c34e42b4242751bbaf3b3b2780f4314552ebb63a350e23170"
|
|
228
230
|
],
|
|
229
231
|
"devlyn-auto-resolve": [
|
|
230
232
|
"0740bb91fb99953631b0c2c273f00210544576f9497af5eecfdd5fe1e58349e2",
|
|
@@ -363,6 +365,7 @@
|
|
|
363
365
|
"36b58dbdc26e51abc05a60872c4582faeebd67e9fe5626a3933467ba07c68dc4",
|
|
364
366
|
"40237cd5259dbcf7c490f130e844a9e32eea48a8edabd50800edee5029bf95a4",
|
|
365
367
|
"4213143689f7e7fe62ab8743c256a45492fafffc1757d64901b7b02725aee5c3",
|
|
368
|
+
"472d2ad853c96651324aa9a3de00cb61c0cecacb389e850ab1b380d535d22922",
|
|
366
369
|
"49d6e024b343dd77e4c0cea0e513e40fe679a7a8192953190d042b3a21bbf69c",
|
|
367
370
|
"5536f8391ec4442f1b793dba8dd5d7820d45f4b6dadf1111cbac9d54469a01ca",
|
|
368
371
|
"573a6059a7383b37affd9c2e8bc6c88a4fb54117628a5a0746406cc32111e9aa",
|
|
@@ -825,6 +828,7 @@
|
|
|
825
828
|
"4.3.29",
|
|
826
829
|
"4.3.3",
|
|
827
830
|
"4.3.30",
|
|
831
|
+
"4.3.31",
|
|
828
832
|
"4.3.4",
|
|
829
833
|
"4.3.5",
|
|
830
834
|
"4.3.6",
|
|
@@ -15,7 +15,7 @@ Seven rules govern every change. Cite them by name when a decision touches one.
|
|
|
15
15
|
1. **No workaround** — fix the root cause, never the symptom. No `any`, no `@ts-ignore`, no silent `catch`, no hardcoded fallback that hides a broken contract. No config bypasses.
|
|
16
16
|
2. **No overengineering** — smallest sufficient change, one responsibility per module. New abstractions need an observed failure. Subtractive-first: ask "what can I delete instead?" before writing anything new. Remove code your change makes unused; only report unrelated pre-existing dead code.
|
|
17
17
|
3. **No guesswork** — verify with the actual files, logs, diffs, and run output before forming conclusions. State the falsifiable prediction BEFORE the experiment; record raw results AFTER. Retroactive prediction edits are dishonest.
|
|
18
|
-
4. **Worldclass** — zero CRITICAL, zero HIGH
|
|
18
|
+
4. **Worldclass** — zero CRITICAL, zero HIGH findings on the shippable path; each must name a concrete case of wrong behavior or results, a security hole, or lost or corrupted data. A review is one pass on the source the checks ran on, by the reviewers the user requires, else by one reviewer who has not seen the author's reasoning. Fix each finding or reject it with a reason, and verify every edit and the invariants it touches. Only a CRITICAL or HIGH calls for another reviewer pass, which reads the fixes, the rejections and the invariants they touch. If one survives that pass, or its fix caused a new one, repair once more; if the next pass finds either again, stop: the work does not ship and is reported blocked.
|
|
19
19
|
5. **Best practice** — idiomatic for the language and framework. Use standard primitives; do not hand-roll what the library already provides.
|
|
20
20
|
6. **Optimized** — efficient on the resource that matters (the user's time, tokens, attention, runtime) without weakening correctness or requirements. An extra check or process step must beat the simpler path.
|
|
21
21
|
7. **Production ready** — error states are explicit and visible; behavior under failure is what the user expects, not silent corruption.
|
|
@@ -59,4 +59,4 @@ Each `review_requirements` ID needs review evidence: a JSON record under `<workt
|
|
|
59
59
|
}
|
|
60
60
|
```
|
|
61
61
|
|
|
62
|
-
A record counts only when it binds this task, the candidate source and both contract digests; any other well-formed record is reported under `ignored_reviews` (a source change invalidates earlier reviews). A listed review or runner record that is unreadable or not this shape fails acceptance with its path named; keys a review record or finding adds beyond this shape are ignored. The counted records' `requirements` must cover `review_requirements`. Each finding's `disposition` is `open`, `resolved` or `rejected` (`rejected` needs a `reason`); an open binding finding blocks acceptance. The loop requires no particular engine or number of reviewers.
|
|
62
|
+
A record counts only when it binds this task, the candidate source and both contract digests; any other well-formed record is reported under `ignored_reviews` (a source change invalidates earlier reviews; the record for the changed source may come from a pass that reads only the change and the invariants it touches). A listed review or runner record that is unreadable or not this shape fails acceptance with its path named; keys a review record or finding adds beyond this shape are ignored. The counted records' `requirements` must cover `review_requirements`. Each finding's `disposition` is `open`, `resolved` or `rejected` (`rejected` needs a `reason`); an open binding finding blocks acceptance. The loop requires no particular engine or number of reviewers.
|
package/harness/AGENTS.md
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
<!-- devlyn:instructions:begin sha256=
|
|
1
|
+
<!-- devlyn:instructions:begin sha256=7a484752888c37d7e91a9edfaa17d36b34ada221fc1d533ab9d73bc08c56ae7e -->
|
|
2
2
|
Project-specific instructions outside this managed block take precedence over these defaults.
|
|
3
3
|
|
|
4
4
|
# Project Instructions
|
|
@@ -16,7 +16,7 @@ Seven rules govern every change. Cite them by name when a decision touches one.
|
|
|
16
16
|
1. **No workaround** — fix the root cause, never the symptom. No `any`, no `@ts-ignore`, no silent `catch`, no hardcoded fallback that hides a broken contract. No config bypasses.
|
|
17
17
|
2. **No overengineering** — smallest sufficient change, one responsibility per module. New abstractions need an observed failure. Subtractive-first: ask "what can I delete instead?" before writing anything new. Remove code your change makes unused; only report unrelated pre-existing dead code.
|
|
18
18
|
3. **No guesswork** — verify with the actual files, logs, diffs, and run output before forming conclusions. State the falsifiable prediction BEFORE the experiment; record raw results AFTER. Retroactive prediction edits are dishonest.
|
|
19
|
-
4. **Worldclass** — zero CRITICAL, zero HIGH
|
|
19
|
+
4. **Worldclass** — zero CRITICAL, zero HIGH findings on the shippable path; each must name a concrete case of wrong behavior or results, a security hole, or lost or corrupted data. A review is one pass on the source the checks ran on, by the reviewers the user requires, else by one reviewer who has not seen the author's reasoning. Fix each finding or reject it with a reason, and verify every edit and the invariants it touches. Only a CRITICAL or HIGH calls for another reviewer pass, which reads the fixes, the rejections and the invariants they touch. If one survives that pass, or its fix caused a new one, repair once more; if the next pass finds either again, stop: the work does not ship and is reported blocked.
|
|
20
20
|
5. **Best practice** — idiomatic for the language and framework. Use standard primitives; do not hand-roll what the library already provides.
|
|
21
21
|
6. **Optimized** — efficient on the resource that matters (the user's time, tokens, attention, runtime) without weakening correctness or requirements. An extra check or process step must beat the simpler path.
|
|
22
22
|
7. **Production ready** — error states are explicit and visible; behavior under failure is what the user expects, not silent corruption.
|
package/harness/CLAUDE.md
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
<!-- devlyn:instructions:begin sha256=
|
|
1
|
+
<!-- devlyn:instructions:begin sha256=7a484752888c37d7e91a9edfaa17d36b34ada221fc1d533ab9d73bc08c56ae7e -->
|
|
2
2
|
Project-specific instructions outside this managed block take precedence over these defaults.
|
|
3
3
|
|
|
4
4
|
# Project Instructions
|
|
@@ -16,7 +16,7 @@ Seven rules govern every change. Cite them by name when a decision touches one.
|
|
|
16
16
|
1. **No workaround** — fix the root cause, never the symptom. No `any`, no `@ts-ignore`, no silent `catch`, no hardcoded fallback that hides a broken contract. No config bypasses.
|
|
17
17
|
2. **No overengineering** — smallest sufficient change, one responsibility per module. New abstractions need an observed failure. Subtractive-first: ask "what can I delete instead?" before writing anything new. Remove code your change makes unused; only report unrelated pre-existing dead code.
|
|
18
18
|
3. **No guesswork** — verify with the actual files, logs, diffs, and run output before forming conclusions. State the falsifiable prediction BEFORE the experiment; record raw results AFTER. Retroactive prediction edits are dishonest.
|
|
19
|
-
4. **Worldclass** — zero CRITICAL, zero HIGH
|
|
19
|
+
4. **Worldclass** — zero CRITICAL, zero HIGH findings on the shippable path; each must name a concrete case of wrong behavior or results, a security hole, or lost or corrupted data. A review is one pass on the source the checks ran on, by the reviewers the user requires, else by one reviewer who has not seen the author's reasoning. Fix each finding or reject it with a reason, and verify every edit and the invariants it touches. Only a CRITICAL or HIGH calls for another reviewer pass, which reads the fixes, the rejections and the invariants they touch. If one survives that pass, or its fix caused a new one, repair once more; if the next pass finds either again, stop: the work does not ship and is reported blocked.
|
|
20
20
|
5. **Best practice** — idiomatic for the language and framework. Use standard primitives; do not hand-roll what the library already provides.
|
|
21
21
|
6. **Optimized** — efficient on the resource that matters (the user's time, tokens, attention, runtime) without weakening correctness or requirements. An extra check or process step must beat the simpler path.
|
|
22
22
|
7. **Production ready** — error states are explicit and visible; behavior under failure is what the user expects, not silent corruption.
|
|
@@ -15,7 +15,7 @@ Seven rules govern every change. Cite them by name when a decision touches one.
|
|
|
15
15
|
1. **No workaround** — fix the root cause, never the symptom. No `any`, no `@ts-ignore`, no silent `catch`, no hardcoded fallback that hides a broken contract. No config bypasses.
|
|
16
16
|
2. **No overengineering** — smallest sufficient change, one responsibility per module. New abstractions need an observed failure. Subtractive-first: ask "what can I delete instead?" before writing anything new. Remove code your change makes unused; only report unrelated pre-existing dead code.
|
|
17
17
|
3. **No guesswork** — verify with the actual files, logs, diffs, and run output before forming conclusions. State the falsifiable prediction BEFORE the experiment; record raw results AFTER. Retroactive prediction edits are dishonest.
|
|
18
|
-
4. **Worldclass** — zero CRITICAL, zero HIGH
|
|
18
|
+
4. **Worldclass** — zero CRITICAL, zero HIGH findings on the shippable path; each must name a concrete case of wrong behavior or results, a security hole, or lost or corrupted data. A review is one pass on the source the checks ran on, by the reviewers the user requires, else by one reviewer who has not seen the author's reasoning. Fix each finding or reject it with a reason, and verify every edit and the invariants it touches. Only a CRITICAL or HIGH calls for another reviewer pass, which reads the fixes, the rejections and the invariants they touch. If one survives that pass, or its fix caused a new one, repair once more; if the next pass finds either again, stop: the work does not ship and is reported blocked.
|
|
19
19
|
5. **Best practice** — idiomatic for the language and framework. Use standard primitives; do not hand-roll what the library already provides.
|
|
20
20
|
6. **Optimized** — efficient on the resource that matters (the user's time, tokens, attention, runtime) without weakening correctness or requirements. An extra check or process step must beat the simpler path.
|
|
21
21
|
7. **Production ready** — error states are explicit and visible; behavior under failure is what the user expects, not silent corruption.
|
|
@@ -59,4 +59,4 @@ Each `review_requirements` ID needs review evidence: a JSON record under `<workt
|
|
|
59
59
|
}
|
|
60
60
|
```
|
|
61
61
|
|
|
62
|
-
A record counts only when it binds this task, the candidate source and both contract digests; any other well-formed record is reported under `ignored_reviews` (a source change invalidates earlier reviews). A listed review or runner record that is unreadable or not this shape fails acceptance with its path named; keys a review record or finding adds beyond this shape are ignored. The counted records' `requirements` must cover `review_requirements`. Each finding's `disposition` is `open`, `resolved` or `rejected` (`rejected` needs a `reason`); an open binding finding blocks acceptance. The loop requires no particular engine or number of reviewers.
|
|
62
|
+
A record counts only when it binds this task, the candidate source and both contract digests; any other well-formed record is reported under `ignored_reviews` (a source change invalidates earlier reviews; the record for the changed source may come from a pass that reads only the change and the invariants it touches). A listed review or runner record that is unreadable or not this shape fails acceptance with its path named; keys a review record or finding adds beyond this shape are ignored. The counted records' `requirements` must cover `review_requirements`. Each finding's `disposition` is `open`, `resolved` or `rejected` (`rejected` needs a `reason`); an open binding finding blocks acceptance. The loop requires no particular engine or number of reviewers.
|
|
@@ -15,7 +15,7 @@ Seven rules govern every change. Cite them by name when a decision touches one.
|
|
|
15
15
|
1. **No workaround** — fix the root cause, never the symptom. No `any`, no `@ts-ignore`, no silent `catch`, no hardcoded fallback that hides a broken contract. No config bypasses.
|
|
16
16
|
2. **No overengineering** — smallest sufficient change, one responsibility per module. New abstractions need an observed failure. Subtractive-first: ask "what can I delete instead?" before writing anything new. Remove code your change makes unused; only report unrelated pre-existing dead code.
|
|
17
17
|
3. **No guesswork** — verify with the actual files, logs, diffs, and run output before forming conclusions. State the falsifiable prediction BEFORE the experiment; record raw results AFTER. Retroactive prediction edits are dishonest.
|
|
18
|
-
4. **Worldclass** — zero CRITICAL, zero HIGH
|
|
18
|
+
4. **Worldclass** — zero CRITICAL, zero HIGH findings on the shippable path; each must name a concrete case of wrong behavior or results, a security hole, or lost or corrupted data. A review is one pass on the source the checks ran on, by the reviewers the user requires, else by one reviewer who has not seen the author's reasoning. Fix each finding or reject it with a reason, and verify every edit and the invariants it touches. Only a CRITICAL or HIGH calls for another reviewer pass, which reads the fixes, the rejections and the invariants they touch. If one survives that pass, or its fix caused a new one, repair once more; if the next pass finds either again, stop: the work does not ship and is reported blocked.
|
|
19
19
|
5. **Best practice** — idiomatic for the language and framework. Use standard primitives; do not hand-roll what the library already provides.
|
|
20
20
|
6. **Optimized** — efficient on the resource that matters (the user's time, tokens, attention, runtime) without weakening correctness or requirements. An extra check or process step must beat the simpler path.
|
|
21
21
|
7. **Production ready** — error states are explicit and visible; behavior under failure is what the user expects, not silent corruption.
|
|
@@ -59,4 +59,4 @@ Each `review_requirements` ID needs review evidence: a JSON record under `<workt
|
|
|
59
59
|
}
|
|
60
60
|
```
|
|
61
61
|
|
|
62
|
-
A record counts only when it binds this task, the candidate source and both contract digests; any other well-formed record is reported under `ignored_reviews` (a source change invalidates earlier reviews). A listed review or runner record that is unreadable or not this shape fails acceptance with its path named; keys a review record or finding adds beyond this shape are ignored. The counted records' `requirements` must cover `review_requirements`. Each finding's `disposition` is `open`, `resolved` or `rejected` (`rejected` needs a `reason`); an open binding finding blocks acceptance. The loop requires no particular engine or number of reviewers.
|
|
62
|
+
A record counts only when it binds this task, the candidate source and both contract digests; any other well-formed record is reported under `ignored_reviews` (a source change invalidates earlier reviews; the record for the changed source may come from a pass that reads only the change and the invariants it touches). A listed review or runner record that is unreadable or not this shape fails acceptance with its path named; keys a review record or finding adds beyond this shape are ignored. The counted records' `requirements` must cover `review_requirements`. Each finding's `disposition` is `open`, `resolved` or `rejected` (`rejected` needs a `reason`); an open binding finding blocks acceptance. The loop requires no particular engine or number of reviewers.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: code-review-standards
|
|
3
|
-
description: Severity framework (CRITICAL security, HIGH
|
|
3
|
+
description: Severity framework (CRITICAL security, HIGH correctness and data, MEDIUM best practice, LOW cleanup) and approval criteria for judging a code change. Use when reviewing, auditing or validating a diff, pull request or just-finished implementation, or when deciding whether a change is ready to approve.
|
|
4
4
|
---
|
|
5
5
|
# Code Review Standards
|
|
6
6
|
|
|
@@ -8,6 +8,8 @@ Severity framework and quality bar for reviewing code changes. Apply this framew
|
|
|
8
8
|
|
|
9
9
|
## Severity Framework
|
|
10
10
|
|
|
11
|
+
A CRITICAL or HIGH finding names its concrete case: the input, state or path that leads to the harm. A finding that cannot name one is MEDIUM or lower.
|
|
12
|
+
|
|
11
13
|
### CRITICAL — Security (blocks approval)
|
|
12
14
|
|
|
13
15
|
- Hardcoded credentials, API keys, tokens, secrets
|
|
@@ -17,17 +19,19 @@ Severity framework and quality bar for reviewing code changes. Apply this framew
|
|
|
17
19
|
- Insecure dependencies (known CVEs)
|
|
18
20
|
- Path traversal (unsanitized file paths)
|
|
19
21
|
|
|
20
|
-
### HIGH —
|
|
22
|
+
### HIGH — Correctness and data (blocks approval)
|
|
23
|
+
|
|
24
|
+
- Wrong behavior or results
|
|
25
|
+
- Lost or corrupted data
|
|
26
|
+
- Missing error handling at a boundary, where a failure there gives one of the above
|
|
27
|
+
|
|
28
|
+
### MEDIUM — Best Practices (fix or justify)
|
|
21
29
|
|
|
22
30
|
- Functions > 50 lines → split
|
|
23
31
|
- Files > 800 lines → decompose
|
|
24
32
|
- Nesting > 4 levels → flatten or extract
|
|
25
|
-
- Missing error handling at boundaries
|
|
26
33
|
- `console.log` in production code → remove
|
|
27
34
|
- Unresolved TODO/FIXME → resolve or remove
|
|
28
|
-
|
|
29
|
-
### MEDIUM — Best Practices (fix or justify)
|
|
30
|
-
|
|
31
35
|
- Mutation where immutable patterns preferred
|
|
32
36
|
- Missing tests for new functionality
|
|
33
37
|
- Accessibility gaps (alt text, ARIA, keyboard nav)
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "devlyn-cli",
|
|
3
|
-
"version": "4.3.
|
|
3
|
+
"version": "4.3.31",
|
|
4
4
|
"description": "Loop & harness engineering for AI coding agents (Claude Code, Codex, and any AGENTS.md-driven agent) — core engineering principles for every session and a loop designer that splits one intent into tasks agents drain hands-free",
|
|
5
5
|
"homepage": "https://github.com/fysoul17/devlyn-cli#readme",
|
|
6
6
|
"bin": {
|
package/release.json
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
{
|
|
2
2
|
"schemaVersion": 1,
|
|
3
3
|
"package": "devlyn-cli",
|
|
4
|
-
"version": "4.3.
|
|
4
|
+
"version": "4.3.31",
|
|
5
5
|
"principles": {
|
|
6
6
|
"defaults": "config/skills/_shared/runtime-principles.md",
|
|
7
7
|
"memory": {
|
|
8
8
|
"claude": "harness/CLAUDE.md",
|
|
9
9
|
"agents": "harness/AGENTS.md"
|
|
10
10
|
},
|
|
11
|
-
"sourceBlockSha256": "
|
|
11
|
+
"sourceBlockSha256": "7a484752888c37d7e91a9edfaa17d36b34ada221fc1d533ab9d73bc08c56ae7e"
|
|
12
12
|
},
|
|
13
13
|
"skills": {
|
|
14
14
|
"root": "config/skills",
|
|
@@ -99,12 +99,12 @@
|
|
|
99
99
|
"files": [
|
|
100
100
|
{
|
|
101
101
|
"path": "AGENTS.md",
|
|
102
|
-
"sha256": "
|
|
102
|
+
"sha256": "207efe7b897a2704ec8a22163f02891ac1a17d521e8a44f4556e59d60a6de19f",
|
|
103
103
|
"executable": false
|
|
104
104
|
},
|
|
105
105
|
{
|
|
106
106
|
"path": "CLAUDE.md",
|
|
107
|
-
"sha256": "
|
|
107
|
+
"sha256": "207efe7b897a2704ec8a22163f02891ac1a17d521e8a44f4556e59d60a6de19f",
|
|
108
108
|
"executable": false
|
|
109
109
|
},
|
|
110
110
|
{
|
|
@@ -159,7 +159,7 @@
|
|
|
159
159
|
},
|
|
160
160
|
{
|
|
161
161
|
"path": "bin/instruction-templates.json",
|
|
162
|
-
"sha256": "
|
|
162
|
+
"sha256": "6e8998bcfa674c32fc92dc48c3e9b83e07fe7b48c3ae203e0943ae837181f473",
|
|
163
163
|
"executable": false
|
|
164
164
|
},
|
|
165
165
|
{
|
|
@@ -174,7 +174,7 @@
|
|
|
174
174
|
},
|
|
175
175
|
{
|
|
176
176
|
"path": "bin/skill-history.json",
|
|
177
|
-
"sha256": "
|
|
177
|
+
"sha256": "4a409eac690da7f3611c67a4fd5e3d9abb354199848bffff27ac441a6a491878",
|
|
178
178
|
"executable": false
|
|
179
179
|
},
|
|
180
180
|
{
|
|
@@ -259,7 +259,7 @@
|
|
|
259
259
|
},
|
|
260
260
|
{
|
|
261
261
|
"path": "config/skills/_shared/runtime-principles.md",
|
|
262
|
-
"sha256": "
|
|
262
|
+
"sha256": "7492c2e1854ef6b0aef8cf1f5dd85e612ed954cff90196ec7c17cc47d12c9937",
|
|
263
263
|
"executable": false
|
|
264
264
|
},
|
|
265
265
|
{
|
|
@@ -309,7 +309,7 @@
|
|
|
309
309
|
},
|
|
310
310
|
{
|
|
311
311
|
"path": "config/skills/devlyn-ideate/references/executor.md",
|
|
312
|
-
"sha256": "
|
|
312
|
+
"sha256": "40582ff8fad59f09fe327ac4f232463b6c55a91be1288c7470f7c8c0b3da95fe",
|
|
313
313
|
"executable": false
|
|
314
314
|
},
|
|
315
315
|
{
|
|
@@ -344,17 +344,17 @@
|
|
|
344
344
|
},
|
|
345
345
|
{
|
|
346
346
|
"path": "harness/AGENTS.md",
|
|
347
|
-
"sha256": "
|
|
347
|
+
"sha256": "9c3daa27f67af1feff420f14d7c53cfbc905b7e72e2d32cc47bc8f2a6cbe3555",
|
|
348
348
|
"executable": false
|
|
349
349
|
},
|
|
350
350
|
{
|
|
351
351
|
"path": "harness/CLAUDE.md",
|
|
352
|
-
"sha256": "
|
|
352
|
+
"sha256": "9c3daa27f67af1feff420f14d7c53cfbc905b7e72e2d32cc47bc8f2a6cbe3555",
|
|
353
353
|
"executable": false
|
|
354
354
|
},
|
|
355
355
|
{
|
|
356
356
|
"path": "native/claude/.claude-plugin/plugin.json",
|
|
357
|
-
"sha256": "
|
|
357
|
+
"sha256": "a70dddfa4b8c6095d52066ae94fa4c0ff2223d2c601614b825d59c3de5a313f3",
|
|
358
358
|
"executable": false
|
|
359
359
|
},
|
|
360
360
|
{
|
|
@@ -434,7 +434,7 @@
|
|
|
434
434
|
},
|
|
435
435
|
{
|
|
436
436
|
"path": "native/claude/skills/_shared/runtime-principles.md",
|
|
437
|
-
"sha256": "
|
|
437
|
+
"sha256": "7492c2e1854ef6b0aef8cf1f5dd85e612ed954cff90196ec7c17cc47d12c9937",
|
|
438
438
|
"executable": false
|
|
439
439
|
},
|
|
440
440
|
{
|
|
@@ -484,7 +484,7 @@
|
|
|
484
484
|
},
|
|
485
485
|
{
|
|
486
486
|
"path": "native/claude/skills/devlyn-ideate/references/executor.md",
|
|
487
|
-
"sha256": "
|
|
487
|
+
"sha256": "40582ff8fad59f09fe327ac4f232463b6c55a91be1288c7470f7c8c0b3da95fe",
|
|
488
488
|
"executable": false
|
|
489
489
|
},
|
|
490
490
|
{
|
|
@@ -514,12 +514,12 @@
|
|
|
514
514
|
},
|
|
515
515
|
{
|
|
516
516
|
"path": "native/codex/.agents/plugins/marketplace.json",
|
|
517
|
-
"sha256": "
|
|
517
|
+
"sha256": "dd4ae6ddb1bad7d6670af67cbfc15de7bc1538a8a0a01c8f039bdf75bd981bd9",
|
|
518
518
|
"executable": false
|
|
519
519
|
},
|
|
520
520
|
{
|
|
521
521
|
"path": "native/codex/plugins/devlyn/.codex-plugin/plugin.json",
|
|
522
|
-
"sha256": "
|
|
522
|
+
"sha256": "a70dddfa4b8c6095d52066ae94fa4c0ff2223d2c601614b825d59c3de5a313f3",
|
|
523
523
|
"executable": false
|
|
524
524
|
},
|
|
525
525
|
{
|
|
@@ -599,7 +599,7 @@
|
|
|
599
599
|
},
|
|
600
600
|
{
|
|
601
601
|
"path": "native/codex/plugins/devlyn/skills/_shared/runtime-principles.md",
|
|
602
|
-
"sha256": "
|
|
602
|
+
"sha256": "7492c2e1854ef6b0aef8cf1f5dd85e612ed954cff90196ec7c17cc47d12c9937",
|
|
603
603
|
"executable": false
|
|
604
604
|
},
|
|
605
605
|
{
|
|
@@ -649,7 +649,7 @@
|
|
|
649
649
|
},
|
|
650
650
|
{
|
|
651
651
|
"path": "native/codex/plugins/devlyn/skills/devlyn-ideate/references/executor.md",
|
|
652
|
-
"sha256": "
|
|
652
|
+
"sha256": "40582ff8fad59f09fe327ac4f232463b6c55a91be1288c7470f7c8c0b3da95fe",
|
|
653
653
|
"executable": false
|
|
654
654
|
},
|
|
655
655
|
{
|
|
@@ -1554,7 +1554,7 @@
|
|
|
1554
1554
|
},
|
|
1555
1555
|
{
|
|
1556
1556
|
"path": "optional-skills/code-review-standards/SKILL.md",
|
|
1557
|
-
"sha256": "
|
|
1557
|
+
"sha256": "24b5ffaea6876575cf9ae70ff8fb1f4b5a75633f5a7a976a87da82630d62a34f",
|
|
1558
1558
|
"executable": false
|
|
1559
1559
|
},
|
|
1560
1560
|
{
|
|
@@ -1819,12 +1819,12 @@
|
|
|
1819
1819
|
},
|
|
1820
1820
|
{
|
|
1821
1821
|
"path": "package.json",
|
|
1822
|
-
"sha256": "
|
|
1822
|
+
"sha256": "1e85c3e53275ab575d882ab87040c79d5f5c0edc4202f1503c576cca797a0446",
|
|
1823
1823
|
"executable": false
|
|
1824
1824
|
}
|
|
1825
1825
|
],
|
|
1826
1826
|
"digest": {
|
|
1827
1827
|
"algorithm": "sha256",
|
|
1828
|
-
"value": "
|
|
1828
|
+
"value": "7be19f082103d694d2c85ab15c7687e43b0e6038903b8b3e997c3744f7ee647e"
|
|
1829
1829
|
}
|
|
1830
1830
|
}
|