multi-agents-cli 1.0.92 → 1.0.93

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.
@@ -863,6 +863,42 @@ const main = async () => {
863
863
  }
864
864
  }
865
865
 
866
+
867
+ // Soft gate - shared selected but missing prerequisites
868
+ if (project === 'shared') {
869
+ const clientCompleted = buildEntries.filter(e => e.scope === 'client' && e.status === 'COMPLETED');
870
+ const backendCompleted = buildEntries.filter(e => e.scope === 'backend' && e.status === 'COMPLETED');
871
+ const clientUIДone = clientCompleted.some(e => e.agent === 'UI');
872
+ const backendINITDone = backendCompleted.some(e => e.agent === 'INIT');
873
+ const missing = [];
874
+
875
+ if (!clientUIДone) {
876
+ missing.push({ item: 'Client scaffold', detail: 'no completed client work found — SECURITY needs to know what auth patterns the client uses' });
877
+ }
878
+ if (!backendINITDone) {
879
+ missing.push({ item: 'Backend INIT', detail: 'backend not scaffolded yet — SECURITY needs to know the backend auth strategy and DB schema' });
880
+ }
881
+ if (!contracts.hasContent) {
882
+ missing.push({ item: 'CONTRACTS.md', detail: 'no shared types defined — auth utilities should align with established contracts' });
883
+ }
884
+
885
+ if (missing.length > 0) {
886
+ console.log(`\n${yellow(' ⚠ Shared prerequisites not fully met:')}
887
+ `);
888
+ missing.forEach(m => {
889
+ console.log(` ${dim('→')} ${bold(m.item)}`);
890
+ console.log(` ${m.detail}\n`);
891
+ });
892
+ console.log(` ${dim('The agent will proceed autonomously and make assumptions about auth patterns.')}`);
893
+ console.log(` ${dim('These may need revision once client and backend are fully established.\n')}`);
894
+ const proceedIdx = await arrowSelect('Shared prerequisites not met:', [
895
+ { label: `${green('→')} Proceed anyway` },
896
+ { label: `${yellow('←')} Go back — pick a different scope ${dim('← recommended')}` },
897
+ ], rl);
898
+ if (proceedIdx === 1) continue flowLoop;
899
+ }
900
+ }
901
+
866
902
  // ── Select agent (with re-selection loop + back to scope) ────────────────────
867
903
 
868
904
  const agentOptions = AGENTS[project] || [];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "multi-agents-cli",
3
- "version": "1.0.92",
3
+ "version": "1.0.93",
4
4
  "description": "Multi-agent workflow orchestration for Claude Code — isolated git worktrees, structured state tracking, autonomous task chaining",
5
5
  "keywords": [
6
6
  "claude-code",