@planu/cli 5.3.45 → 5.3.46
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/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,13 @@
|
|
|
1
|
+
## [5.3.46] - 2026-08-24
|
|
2
|
+
|
|
3
|
+
### Bug Fixes
|
|
4
|
+
- fix(spec-1285): meta filter sees backticked tool token; harden AC1 coverage
|
|
5
|
+
- fix(spec-1285): stop local privacy specs activating auth/meta challenge families
|
|
6
|
+
|
|
7
|
+
### Chores
|
|
8
|
+
- chore(planu): record SPEC-1285 done and SPEC-1598 discarded (merged into SPEC-1285)
|
|
9
|
+
|
|
10
|
+
|
|
1
11
|
## [5.3.45] - 2026-08-24
|
|
2
12
|
|
|
3
13
|
### Bug Fixes
|
|
@@ -25,6 +25,7 @@ const EXPECTED_META_ANALYSIS_RE = /^\s*expected\s*:(?=[^.!?。!?]{0,240}\b(?
|
|
|
25
25
|
const QUALIFIED_EVIDENCE_SUBJECT_RE = /^\s*(?:[-*+>]\s+|\d+[.)]\s+)?(?:(?:given|when|then|and)\s+)?(?=[^.!?。!?]{0,240}\b(?:positive|negative|affirmative|meta-analysis(?:-only)?|regression|table-driven)\b)(?=[^.!?。!?]{0,240}\b(?:fixtures?|controls?|tests?|examples?|assertions?|findings?)\b)[^.!?。!?]{1,240}$/iu;
|
|
26
26
|
const CONTRACT_ANALYSIS_SUBJECT_RE = /^\s*(?:[-*+>]\s+|\d+[.)]\s+)?(?:(?:given|when|then|and)\s+)?(?:(?:the|this|that|a|an|any|each|our|existing|current)\s+)?(?:[\p{L}\p{N}_-]+\s+){0,2}contract\s+(?:evidence|inference|requirements?)\b/iu;
|
|
27
27
|
const CONTRACT_ANALYSIS_PREDICATE_RE = /\b(?:(?:is|are)\s+(?:inferred|expected|selected|classified|matched|detected|discussed|reported|recorded)|expects?|records?|describes?)\b|\b(?:detector|classifier|matcher)\s+evidence\b|\b(?:positive[ -]?control|expected\s+absence|meta-analysis(?:-only)?)\b/iu;
|
|
28
|
+
const META_ANALYSIS_TOOL_OUTPUT_RE = /\b(?:challenge[_\s]spec|challenge\s+tool)\b[^.!?\n]{0,120}?\bcall\b[^.!?\n]{0,120}?\b(?:emitted|returned|produced|reported|surfaced)\b[^.!?\n]{0,120}?\bscenarios?\b/iu;
|
|
28
29
|
function stripExcludedMarkdownSections(text) {
|
|
29
30
|
const lines = text.split('\n');
|
|
30
31
|
const kept = [];
|
|
@@ -71,7 +72,8 @@ export function stripMetaAnalysisText(text) {
|
|
|
71
72
|
!META_ANALYSIS_EVIDENCE_RE.test(clause) &&
|
|
72
73
|
!EXPECTED_META_ANALYSIS_RE.test(clause) &&
|
|
73
74
|
!QUALIFIED_EVIDENCE_SUBJECT_RE.test(clause) &&
|
|
74
|
-
!(CONTRACT_ANALYSIS_SUBJECT_RE.test(clause) && CONTRACT_ANALYSIS_PREDICATE_RE.test(clause))
|
|
75
|
+
!(CONTRACT_ANALYSIS_SUBJECT_RE.test(clause) && CONTRACT_ANALYSIS_PREDICATE_RE.test(clause)) &&
|
|
76
|
+
!META_ANALYSIS_TOOL_OUTPUT_RE.test(clause))
|
|
75
77
|
.join('\n');
|
|
76
78
|
}
|
|
77
79
|
function clauseBefore(text, index) {
|
|
@@ -16,7 +16,7 @@ const CAPABILITY_SIGNALS = {
|
|
|
16
16
|
],
|
|
17
17
|
authentication: [/\b(?:login|sign[ -]?in|password|jwt|oauth2?|session\s+auth)\b/i],
|
|
18
18
|
authorization: [
|
|
19
|
-
/\b(?:authori[sz]ation|permission|rbac|role-based|access\s+control|resource\s+ownership|tenant)\b/i,
|
|
19
|
+
/\b(?:authori[sz]ation|permission\s+(?:check|model|grant|denied|scope|boundary|set|policy)|access\s+permission|role\s+permission|rbac|role-based|access\s+control|resource\s+ownership|tenant)\b/i,
|
|
20
20
|
],
|
|
21
21
|
userInput: [
|
|
22
22
|
/\b(?:user|client)\s+input\b/i,
|
|
@@ -133,7 +133,7 @@ export function contentMentions(content, keywords) {
|
|
|
133
133
|
export function detectChallengeCapabilities(spec, specContent) {
|
|
134
134
|
const contractSource = stripReaderPrefix(spec, specContent);
|
|
135
135
|
const source = contractSource.trim().length > 0 ? contractSource : spec.title;
|
|
136
|
-
const contract = stripMetaAnalysisText(
|
|
136
|
+
const contract = stripNonContractText(stripMetaAnalysisText(source));
|
|
137
137
|
const capabilities = Object.fromEntries(Object.entries(CAPABILITY_SIGNALS).map(([capability, patterns]) => [
|
|
138
138
|
capability,
|
|
139
139
|
hasAnyAffirmedMatch(contract, patterns),
|
package/package.json
CHANGED
package/planu-plugin.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "dev.planu.cli",
|
|
3
3
|
"displayName": "Planu — Spec Driven Development",
|
|
4
4
|
"description": "Manage software specs, estimations, and autonomous SDD workflows. Language-agnostic MCP server for Claude Code.",
|
|
5
|
-
"version": "5.3.
|
|
5
|
+
"version": "5.3.46",
|
|
6
6
|
"icon": "assets/plugin/icon.svg",
|
|
7
7
|
"command": ["npx", "@planu/cli@latest"],
|
|
8
8
|
"packageName": "@planu/cli",
|