snipara-companion 1.1.49 → 1.2.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 CHANGED
@@ -34,10 +34,14 @@ For Codex, the primary integration remains Hosted MCP plus `AGENTS.md`.
34
34
 
35
35
  - `create-snipara` installs `snipara-companion` by default for managed workflow commands.
36
36
  - `snipara-companion` is still skippable with `--profile hosted-only` or `--skip-companion`.
37
- - This package does not currently scaffold a Codex-specific preset.
38
- - Use it when compaction-safe phase commits, local doctor checks, or shared helper workflows are useful.
37
+ - Use it when compaction-safe phase commits, Project Intelligence briefs, local doctor checks, or shared helper workflows are useful.
38
+ - Use `workflow scaffold --preset project-intelligence-continuity-layer` for roadmap-sized Project Intelligence work that needs phase commits.
39
39
  - If an agent session exposes only a subset of Snipara tools, use `snipara_help(list_all=true)` in that session before concluding a tool is unavailable.
40
40
 
41
+ ## Configuring MCP Tool Surfaces
42
+
43
+ The MCP server advertises different tool surfaces depending on the `SNIPARA_EXPOSED_SURFACES` environment variable. To expose companion tools directly in the advertised manifest, set `SNIPARA_EXPOSED_SURFACES=inline,companion` on the MCP server. This is optional: companion tools are still callable by name on demand via `snipara_help`, even if not advertised.
44
+
41
45
  ## Installation
42
46
 
43
47
  ```bash
@@ -54,6 +58,12 @@ yarn global add snipara-companion
54
58
  snipara-companion
55
59
  ```
56
60
 
61
+ ## New In 1.2.0
62
+
63
+ - Adds `snipara-companion intelligence brief` for a local Project Intelligence brief that composes hosted resume context, memory health, and code impact into one agent-ready output.
64
+ - Adds `workflow scaffold --preset project-intelligence-continuity-layer` for the full memory + code graph + workflow continuity roadmap.
65
+ - Updates generated agent workflow instructions so new work can call the Project Intelligence brief before risky changes and scaffold the roadmap preset for multi-phase delivery.
66
+
57
67
  ## New In 1.1.15
58
68
 
59
69
  - Expands `init --client` to Claude Code, Cursor, Windsurf, Codex, Gemini, Mistral, ChatGPT, VS Code, Continue, and custom MCP clients.
@@ -332,6 +342,8 @@ npx -y snipara-companion@latest task-commit --summary "Shipped auth refactor" --
332
342
 
333
343
  snipara-companion query --query "auth middleware"
334
344
  snipara-companion query --query "who calls src.mcp_transport.handle_call_tool" --follow-recommendation
345
+ snipara-companion intelligence brief --task "ship auth hardening" --changed-files apps/web/src/lib/auth.ts tests/auth.test.ts --diff-summary "auth hardening"
346
+ snipara-companion workflow scaffold --preset project-intelligence-continuity-layer --output .snipara/workflow/plans/project-intelligence-plan.json
335
347
  snipara-companion workflow start --goal "ship auth hardening" --plan-file ./plan.json
336
348
  snipara-companion workflow status
337
349
  snipara-companion workflow phase-start context
@@ -445,6 +457,32 @@ snipara-companion task-commit --summary "Validated PR Answer Pack release docs"
445
457
  Only add a dedicated `snipara-companion github answer-packs` command if Snipara
446
458
  ships a public API for manual regeneration or inspection outside the dashboard.
447
459
 
460
+ ### Project Intelligence Briefs
461
+
462
+ Use `intelligence brief` when a task needs one local entrypoint for continuity,
463
+ memory authority, and code impact:
464
+
465
+ ```bash
466
+ snipara-companion intelligence brief \
467
+ --task "add workspace invite policy" \
468
+ --changed-files apps/web/src/lib/workspace-invites.ts apps/web/src/lib/workspace-invites.test.ts \
469
+ --diff-summary "workspace invite policy change"
470
+ ```
471
+
472
+ The command calls hosted `snipara_resume_context`, `snipara_memory_health`, and,
473
+ when changed files are provided, `snipara_code_impact`. It prints continuity
474
+ signals, memory health, risk and verification hints, degraded surfaces, and the
475
+ next companion commands to keep the workflow resumable.
476
+
477
+ For the full Project Intelligence and Continuity Layer roadmap, scaffold the
478
+ built-in managed workflow plan:
479
+
480
+ ```bash
481
+ snipara-companion workflow scaffold \
482
+ --preset project-intelligence-continuity-layer \
483
+ --output .snipara/workflow/plans/project-intelligence-plan.json
484
+ ```
485
+
448
486
  ### Context vs Memory
449
487
 
450
488
  - Use `snipara-companion query`, `shared-context`, and `load-document` for source truth.
@@ -461,7 +499,9 @@ Semantics:
461
499
  - `snipara-companion workflow run --mode full` = session bootstrap + context query + automatic structural follow-up + hosted plan
462
500
  - `snipara-companion workflow run --mode orchestrate` = explicit hosted orchestrator flow for deeper multi-step exploration; use the Python `snipara-orchestrator` package for production gates and htasks
463
501
  - `snipara-companion workflow run` = suggests Snipara Sandbox when the query calls for validation, execution, data transforms, or heavier FULL/orchestrated work
502
+ - `snipara-companion intelligence brief` = one local Project Intelligence brief that combines resume context, memory health, and code impact for a task
464
503
  - `snipara-companion workflow start --plan-file` = records the visible LLM plan locally so phase state survives agent compaction; prefer JSON plans with explicit ids for stable machine phase state
504
+ - `snipara-companion workflow scaffold --preset project-intelligence-continuity-layer` = creates a four-phase managed plan for memory authority, code impact, continuity summaries, and release/docs surfaces
465
505
  - `snipara-companion workflow phase-start` = marks the current phase and prints the required Snipara context gate plus code-impact / symbol-card gates; runtime-marked phases also get a stable Snipara Sandbox session binding
466
506
  - `snipara-companion workflow runtime-checkpoint` = captures a resume-ready Snipara Sandbox checkpoint for one phase using local workflow state plus a hosted automation event when configured
467
507
  - `snipara-companion workflow phase-commit` = calls hosted `snipara_end_of_task_commit` for that phase, updates local state, and advances the next phase
package/dist/index.d.ts CHANGED
@@ -1046,6 +1046,36 @@ declare function detectReleaseSurfacesFromFiles(root: string, files: string[]):
1046
1046
  declare function getStagedFiles(root: string): string[];
1047
1047
  declare function runMemoryGuardCheck(options?: MemoryGuardCheckOptions): Promise<MemoryGuardCheckResult>;
1048
1048
 
1049
+ interface ProjectIntelligenceBriefOptions {
1050
+ task?: string;
1051
+ branch?: string;
1052
+ changedFiles?: string[];
1053
+ recentFiles?: string[];
1054
+ diffSummary?: string;
1055
+ maxTokens?: number;
1056
+ skipImpact?: boolean;
1057
+ skipMemoryHealth?: boolean;
1058
+ json?: boolean;
1059
+ }
1060
+ interface ProjectIntelligenceBrief {
1061
+ version: "project-intelligence-brief-v1";
1062
+ generatedAt: string;
1063
+ branch?: string;
1064
+ task?: string;
1065
+ changedFiles: string[];
1066
+ recentFiles: string[];
1067
+ resumeContext?: Record<string, unknown>;
1068
+ memoryHealth?: Record<string, unknown>;
1069
+ codeImpact?: Record<string, unknown>;
1070
+ errors: Array<{
1071
+ surface: string;
1072
+ message: string;
1073
+ }>;
1074
+ suggestedCommands: string[];
1075
+ }
1076
+ declare function buildProjectIntelligenceBrief(options: ProjectIntelligenceBriefOptions): Promise<ProjectIntelligenceBrief>;
1077
+ declare function projectIntelligenceBriefCommand(options: ProjectIntelligenceBriefOptions): Promise<void>;
1078
+
1049
1079
  type SyncDocumentKind = "DOC" | "BINARY";
1050
1080
  type WorkflowMode = "lite" | "standard" | "auto" | "full" | "orchestrate";
1051
1081
  type OnboardFolderMode = "auto" | "business_context" | "code_project" | "mixed";
@@ -1056,7 +1086,7 @@ type ReindexMode = "incremental" | "full";
1056
1086
  type TaskCommitOutcome = "completed" | "partial" | "blocked" | "abandoned";
1057
1087
  declare const WORKFLOW_STATE_RELATIVE_PATH: string;
1058
1088
  declare const WORKFLOW_PLANS_RELATIVE_DIR: string;
1059
- type WorkflowPlanPreset = "memory-backend-unification";
1089
+ type WorkflowPlanPreset = "memory-backend-unification" | "project-intelligence-continuity-layer";
1060
1090
  interface WorkflowPlanScaffoldDocument {
1061
1091
  preset: WorkflowPlanPreset;
1062
1092
  mode: "full";
@@ -1589,4 +1619,4 @@ interface WrittenOrchestratorHandoff {
1589
1619
  declare function buildOrchestratorHandoff(options: OrchestratorHandoffOptions): OrchestratorHandoffArtifact;
1590
1620
  declare function writeOrchestratorHandoff(options: OrchestratorHandoffOptions): WrittenOrchestratorHandoff;
1591
1621
 
1592
- export { AUTOMATION_MANIFEST_RELATIVE_PATH, AutomationInstallConflictError, AutomationUnsupportedHookBundleError, ORCHESTRATOR_HANDOFF_RELATIVE_PATH, TEAM_SYNC_STATE_RELATIVE_PATH, WORKFLOW_PLANS_RELATIVE_DIR, WORKFLOW_STATE_RELATIVE_PATH, buildAutomationInstallPlan, buildCanonicalEvent, buildJournalCheckpointEntry, buildOnboardFolderManifest, buildOrchestratorHandoff, buildSyncDocumentsDryRun, buildTeamSyncHandoffRecord, buildTeamSyncStartWorkRecord, buildTeamSyncSummary, buildToolCallPayload, buildToolResultPayload, buildWorkflowPhaseCommitSummary, buildWorkflowPlanScaffold, categoryFromGuardTag, classifyToolResult, collectSyncDocuments, collectSyncDocumentsInput, createClient, createEmptyTeamSyncState, createLocalQueryCache, detectReleaseSurfacesFromFiles, detectRuntimeEnvironment, extractCommandFromToolInput, extractFilesFromToolInput, formatOrchestratorRecommendationReason, formatStuckGuardDecision, getAutomationManifestPath, getAutomationStatus, getConfigPath, getOrchestratorRecommendation, getPlanStepDisplayTitle, getStagedFiles, getStuckGuardInjection, getTeamSyncStatePath, installAutomationBundle, listProjectsForApiKey, loadAutomationManifest, loadConfig, loadTeamSyncState, normalizeGuardTag, normalizeWorkflowPlanInput, resolveQueryFromToolInput, runMemoryGuardCheck, saveConfig, saveTeamSyncState, shouldSuggestOrchestratorForWorkflow, shouldSuggestRuntimeForWorkflow, writeOrchestratorHandoff };
1622
+ export { AUTOMATION_MANIFEST_RELATIVE_PATH, AutomationInstallConflictError, AutomationUnsupportedHookBundleError, ORCHESTRATOR_HANDOFF_RELATIVE_PATH, TEAM_SYNC_STATE_RELATIVE_PATH, WORKFLOW_PLANS_RELATIVE_DIR, WORKFLOW_STATE_RELATIVE_PATH, buildAutomationInstallPlan, buildCanonicalEvent, buildJournalCheckpointEntry, buildOnboardFolderManifest, buildOrchestratorHandoff, buildProjectIntelligenceBrief, buildSyncDocumentsDryRun, buildTeamSyncHandoffRecord, buildTeamSyncStartWorkRecord, buildTeamSyncSummary, buildToolCallPayload, buildToolResultPayload, buildWorkflowPhaseCommitSummary, buildWorkflowPlanScaffold, categoryFromGuardTag, classifyToolResult, collectSyncDocuments, collectSyncDocumentsInput, createClient, createEmptyTeamSyncState, createLocalQueryCache, detectReleaseSurfacesFromFiles, detectRuntimeEnvironment, extractCommandFromToolInput, extractFilesFromToolInput, formatOrchestratorRecommendationReason, formatStuckGuardDecision, getAutomationManifestPath, getAutomationStatus, getConfigPath, getOrchestratorRecommendation, getPlanStepDisplayTitle, getStagedFiles, getStuckGuardInjection, getTeamSyncStatePath, installAutomationBundle, listProjectsForApiKey, loadAutomationManifest, loadConfig, loadTeamSyncState, normalizeGuardTag, normalizeWorkflowPlanInput, projectIntelligenceBriefCommand, resolveQueryFromToolInput, runMemoryGuardCheck, saveConfig, saveTeamSyncState, shouldSuggestOrchestratorForWorkflow, shouldSuggestRuntimeForWorkflow, writeOrchestratorHandoff };