create-quiver 0.17.4 → 0.17.6
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 +2 -0
- package/docs/CLI_UX_GUIDE.md +7 -0
- package/docs/TROUBLESHOOTING.md +62 -0
- package/docs/reference/commands.md +16 -0
- package/docs/workflows/existing-project-ai-quiver-setup.md +0 -1
- package/docs/workflows/existing-project.md +1 -0
- package/package.json +1 -1
- package/specs/quiver-v43-cli-i18n-audit-release-readiness/command-language-mode-matrix.json +1 -0
- package/specs/quiver-v56-analyze-project-usable-doc-merge/EVIDENCE_REPORT.md +11 -0
- package/specs/quiver-v56-analyze-project-usable-doc-merge/EXECUTION_PLAN.md +28 -0
- package/specs/quiver-v56-analyze-project-usable-doc-merge/SPEC.md +96 -0
- package/specs/quiver-v56-analyze-project-usable-doc-merge/STATUS.md +26 -0
- package/specs/quiver-v56-analyze-project-usable-doc-merge/pr.md +56 -0
- package/specs/quiver-v56-analyze-project-usable-doc-merge/slices/slice-01-document-classification-merge-engine/CLOSURE_BRIEF.md +61 -0
- package/specs/quiver-v56-analyze-project-usable-doc-merge/slices/slice-01-document-classification-merge-engine/EXECUTION_BRIEF.md +59 -0
- package/specs/quiver-v56-analyze-project-usable-doc-merge/slices/slice-01-document-classification-merge-engine/pr.md +61 -0
- package/specs/quiver-v56-analyze-project-usable-doc-merge/slices/slice-01-document-classification-merge-engine/slice.json +71 -0
- package/specs/quiver-v56-analyze-project-usable-doc-merge/slices/slice-02-apply-integration-validation-contract/CLOSURE_BRIEF.md +30 -0
- package/specs/quiver-v56-analyze-project-usable-doc-merge/slices/slice-02-apply-integration-validation-contract/EXECUTION_BRIEF.md +39 -0
- package/specs/quiver-v56-analyze-project-usable-doc-merge/slices/slice-02-apply-integration-validation-contract/pr.md +62 -0
- package/specs/quiver-v56-analyze-project-usable-doc-merge/slices/slice-02-apply-integration-validation-contract/slice.json +80 -0
- package/specs/quiver-v56-analyze-project-usable-doc-merge/slices/slice-03-cli-docs-real-fixture-smoke/CLOSURE_BRIEF.md +29 -0
- package/specs/quiver-v56-analyze-project-usable-doc-merge/slices/slice-03-cli-docs-real-fixture-smoke/EXECUTION_BRIEF.md +32 -0
- package/specs/quiver-v56-analyze-project-usable-doc-merge/slices/slice-03-cli-docs-real-fixture-smoke/pr.md +61 -0
- package/specs/quiver-v56-analyze-project-usable-doc-merge/slices/slice-03-cli-docs-real-fixture-smoke/slice.json +79 -0
- package/specs/quiver-v57-evidence-budget-recovery-ux/EVIDENCE_REPORT.md +27 -0
- package/specs/quiver-v57-evidence-budget-recovery-ux/EXECUTION_PLAN.md +41 -0
- package/specs/quiver-v57-evidence-budget-recovery-ux/SPEC.md +139 -0
- package/specs/quiver-v57-evidence-budget-recovery-ux/STATUS.md +20 -0
- package/specs/quiver-v57-evidence-budget-recovery-ux/pr.md +124 -0
- package/specs/quiver-v57-evidence-budget-recovery-ux/slices/slice-01-recovery-contract-security-classifier/CLOSURE_BRIEF.md +22 -0
- package/specs/quiver-v57-evidence-budget-recovery-ux/slices/slice-01-recovery-contract-security-classifier/EXECUTION_BRIEF.md +58 -0
- package/specs/quiver-v57-evidence-budget-recovery-ux/slices/slice-01-recovery-contract-security-classifier/pr.md +12 -0
- package/specs/quiver-v57-evidence-budget-recovery-ux/slices/slice-01-recovery-contract-security-classifier/slice.json +60 -0
- package/specs/quiver-v57-evidence-budget-recovery-ux/slices/slice-02-budget-command-recommendation/CLOSURE_BRIEF.md +9 -0
- package/specs/quiver-v57-evidence-budget-recovery-ux/slices/slice-02-budget-command-recommendation/EXECUTION_BRIEF.md +54 -0
- package/specs/quiver-v57-evidence-budget-recovery-ux/slices/slice-02-budget-command-recommendation/pr.md +12 -0
- package/specs/quiver-v57-evidence-budget-recovery-ux/slices/slice-02-budget-command-recommendation/slice.json +60 -0
- package/specs/quiver-v57-evidence-budget-recovery-ux/slices/slice-03-cli-json-i18n-output/CLOSURE_BRIEF.md +10 -0
- package/specs/quiver-v57-evidence-budget-recovery-ux/slices/slice-03-cli-json-i18n-output/EXECUTION_BRIEF.md +58 -0
- package/specs/quiver-v57-evidence-budget-recovery-ux/slices/slice-03-cli-json-i18n-output/pr.md +13 -0
- package/specs/quiver-v57-evidence-budget-recovery-ux/slices/slice-03-cli-json-i18n-output/slice.json +68 -0
- package/specs/quiver-v57-evidence-budget-recovery-ux/slices/slice-04-integration-fixtures-docs-release-smoke/CLOSURE_BRIEF.md +14 -0
- package/specs/quiver-v57-evidence-budget-recovery-ux/slices/slice-04-integration-fixtures-docs-release-smoke/EXECUTION_BRIEF.md +55 -0
- package/specs/quiver-v57-evidence-budget-recovery-ux/slices/slice-04-integration-fixtures-docs-release-smoke/pr.md +14 -0
- package/specs/quiver-v57-evidence-budget-recovery-ux/slices/slice-04-integration-fixtures-docs-release-smoke/slice.json +65 -0
- package/src/create-quiver/commands/ai.js +132 -2
- package/src/create-quiver/lib/ai/analyze-project-docs.js +284 -4
- package/src/create-quiver/lib/ai/analyze-project-proposal.js +11 -0
- package/src/create-quiver/lib/ai/analyze-project-recovery.js +736 -0
- package/src/create-quiver/lib/ai/analyze-project-validation.js +27 -0
- package/src/create-quiver/lib/i18n/messages/en.js +6 -0
- package/src/create-quiver/lib/i18n/messages/es.js +6 -0
|
@@ -4,6 +4,8 @@ const path = require('node:path');
|
|
|
4
4
|
const {
|
|
5
5
|
ANALYZE_MANAGED_END,
|
|
6
6
|
ANALYZE_MANAGED_START,
|
|
7
|
+
classifyAnalyzeProjectDoc,
|
|
8
|
+
collectCriticalPlaceholders,
|
|
7
9
|
normalizeAnalyzeProjectDocProposal,
|
|
8
10
|
} = require('./analyze-project-docs');
|
|
9
11
|
const { normalizeAnalyzeProjectAnalysis } = require('./analyze-project-parser');
|
|
@@ -167,6 +169,7 @@ function writeAnalyzeProjectValidationManifest(repoRoot, options = {}) {
|
|
|
167
169
|
issue_count: issues.length,
|
|
168
170
|
groups: groupAnalyzeProjectIssues(issues, { maxExamplesPerGroup: 5 }),
|
|
169
171
|
retry: options.retry || null,
|
|
172
|
+
recovery: options.recovery || null,
|
|
170
173
|
issues,
|
|
171
174
|
};
|
|
172
175
|
|
|
@@ -326,6 +329,29 @@ function addPlaceholderValidation(docPath, managedContent, errors) {
|
|
|
326
329
|
}
|
|
327
330
|
}
|
|
328
331
|
|
|
332
|
+
function addVisiblePlaceholderValidation(docPath, content, warnings, errors, options = {}) {
|
|
333
|
+
const classification = classifyAnalyzeProjectDoc(content);
|
|
334
|
+
const placeholders = collectCriticalPlaceholders(classification.visible_body || '');
|
|
335
|
+
if (placeholders.length === 0) {
|
|
336
|
+
return;
|
|
337
|
+
}
|
|
338
|
+
|
|
339
|
+
const issue = makeIssue(
|
|
340
|
+
docPath,
|
|
341
|
+
'visible-critical-placeholder',
|
|
342
|
+
`critical scaffold placeholder remains in primary visible content: ${placeholders.slice(0, 3).join(', ')}`,
|
|
343
|
+
{
|
|
344
|
+
classification: classification.classification,
|
|
345
|
+
placeholders,
|
|
346
|
+
},
|
|
347
|
+
);
|
|
348
|
+
if (options.strict === true) {
|
|
349
|
+
errors.push(issue);
|
|
350
|
+
} else {
|
|
351
|
+
warnings.push(issue);
|
|
352
|
+
}
|
|
353
|
+
}
|
|
354
|
+
|
|
329
355
|
function normalizeFactValue(value) {
|
|
330
356
|
return String(value || '')
|
|
331
357
|
.replace(/[`*_]/g, '')
|
|
@@ -446,6 +472,7 @@ function validateAnalyzeProjectPostWrite(repoRoot, report, options = {}) {
|
|
|
446
472
|
content: file.content,
|
|
447
473
|
managedBlock,
|
|
448
474
|
});
|
|
475
|
+
addVisiblePlaceholderValidation(docPath, file.content, warnings, errors, { strict: options.strict === true });
|
|
449
476
|
if (!managedBlock.ok) {
|
|
450
477
|
errors.push(makeIssue(docPath, managedBlock.issue, `Quiver managed block is missing or unbalanced in ${docPath}.`));
|
|
451
478
|
continue;
|
|
@@ -34,6 +34,12 @@ module.exports = {
|
|
|
34
34
|
'common.unknown': 'unknown',
|
|
35
35
|
'common.warning': 'Warning: {message}',
|
|
36
36
|
'common.yes': 'yes',
|
|
37
|
+
'analyze_project.recovery.budget': 'Suggested budget: --max-files {files}, --max-bytes {bytes}',
|
|
38
|
+
'analyze_project.recovery.reason': 'The provider cited evidence that was not included in the selected context sample.',
|
|
39
|
+
'analyze_project.recovery.recommended_command': 'Recommended command:',
|
|
40
|
+
'analyze_project.recovery.safe_fallback': 'No safe automatic budget recommendation is available. Inspect the selected evidence with `npx create-quiver ai analyze-project --deep --dry-run --json`, then rerun with a narrower scope.',
|
|
41
|
+
'analyze_project.recovery.title': 'Recommended fix',
|
|
42
|
+
'analyze_project.recovery.warning': 'Recovery warning',
|
|
37
43
|
'config.error.unsupported_language': 'unsupported language: {language}. Supported languages: {supported}. Run: npx create-quiver config language set {fallback}',
|
|
38
44
|
'config.error.unsupported_language_command': 'unsupported config language command: {command}. Supported commands: show, set',
|
|
39
45
|
'config.error.unsupported_section': 'unsupported config section: {section}. Supported sections: language',
|
|
@@ -150,6 +150,12 @@ module.exports = {
|
|
|
150
150
|
'common.unknown': 'desconocido',
|
|
151
151
|
'common.warning': 'Advertencia: {message}',
|
|
152
152
|
'common.yes': 'si',
|
|
153
|
+
'analyze_project.recovery.budget': 'Presupuesto sugerido: --max-files {files}, --max-bytes {bytes}',
|
|
154
|
+
'analyze_project.recovery.reason': 'El provider cito evidencia que no estaba incluida en la muestra de contexto seleccionada.',
|
|
155
|
+
'analyze_project.recovery.recommended_command': 'Comando recomendado:',
|
|
156
|
+
'analyze_project.recovery.safe_fallback': 'No hay una recomendacion automatica segura de presupuesto. Inspecciona la evidencia seleccionada con `npx create-quiver ai analyze-project --deep --dry-run --json` y luego reejecuta con un scope mas acotado.',
|
|
157
|
+
'analyze_project.recovery.title': 'Solucion recomendada',
|
|
158
|
+
'analyze_project.recovery.warning': 'Advertencia de recuperacion',
|
|
153
159
|
'config.error.unsupported_language': 'idioma no compatible: {language}. Idiomas soportados: {supported}. Ejecuta: npx create-quiver config language set {fallback}',
|
|
154
160
|
'config.error.unsupported_language_command': 'comando de idioma de config no compatible: {command}. Comandos soportados: show, set',
|
|
155
161
|
'config.error.unsupported_section': 'seccion de config no compatible: {section}. Secciones soportadas: language',
|