@heretek-ai/epistemic-swarm 0.2.2 → 0.3.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.
Files changed (138) hide show
  1. package/.agents/skills/brainstorming/SKILL.md +13 -0
  2. package/.agents/skills/code_audit/SKILL.md +13 -0
  3. package/.agents/skills/epistemic_search/SKILL.md +13 -0
  4. package/.agents/skills/grilling/SKILL.md +13 -0
  5. package/.agents/skills/oss_scout/SKILL.md +13 -0
  6. package/.agents/skills/research_cache/SKILL.md +13 -0
  7. package/.agents/skills/swarm_config/SKILL.md +13 -0
  8. package/.claude-plugin/plugin.json +15 -5
  9. package/.omp/README.md +39 -0
  10. package/.omp/SYSTEM.md +12 -0
  11. package/.omp/commands/audit.md +10 -0
  12. package/.omp/commands/brainstorming.md +12 -0
  13. package/.omp/commands/grill.md +9 -0
  14. package/.omp/commands/scout.md +10 -0
  15. package/.omp/commands/swarm-config.md +10 -0
  16. package/.omp/commands/swarm.md +9 -0
  17. package/.omp/hooks/post/epistemic-audit.ts +16 -0
  18. package/.omp/hooks/pre/epistemic-redirect.ts +21 -0
  19. package/.omp/prompts/brainstorming.md +8 -0
  20. package/.omp/prompts/swarm.md +8 -0
  21. package/MARKETPLACE.md +8 -0
  22. package/README.md +53 -8
  23. package/bin/cli.js +27 -3
  24. package/config/domain_packs/biopharma.json +23 -0
  25. package/config/domain_packs/legal.json +19 -0
  26. package/config/domain_packs/quant.json +19 -0
  27. package/config/mcp-research-servers.json +7 -0
  28. package/config/mcp_launcher.py +48 -137
  29. package/config/opencode-snippet.json +58 -3
  30. package/config/searxng_mcp.py +42 -83
  31. package/extensions/pi/index.js +196 -28
  32. package/install.sh +20 -4
  33. package/package.json +40 -5
  34. package/plugins/antigravity/README.md +28 -0
  35. package/plugins/antigravity/agents/alpha-thesis.md +6 -0
  36. package/plugins/antigravity/agents/beta-antithesis.md +7 -0
  37. package/plugins/antigravity/agents/brainstormer.md +7 -0
  38. package/plugins/antigravity/agents/epistemic-auditor.md +5 -0
  39. package/plugins/antigravity/hooks.json +23 -0
  40. package/plugins/antigravity/mcp_config.json +33 -0
  41. package/plugins/antigravity/plugin.json +21 -0
  42. package/plugins/antigravity/rules/epistemic-integrity.md +6 -0
  43. package/plugins/antigravity/skills/brainstorming/SKILL.md +13 -0
  44. package/plugins/antigravity/skills/code_audit/SKILL.md +13 -0
  45. package/plugins/antigravity/skills/epistemic_search/SKILL.md +13 -0
  46. package/plugins/antigravity/skills/grilling/SKILL.md +13 -0
  47. package/plugins/antigravity/skills/oss_scout/SKILL.md +13 -0
  48. package/plugins/antigravity/skills/research_cache/SKILL.md +13 -0
  49. package/plugins/antigravity/skills/swarm_config/SKILL.md +13 -0
  50. package/plugins/codex/AGENTS.md.snippet +10 -0
  51. package/plugins/codex/README.md +37 -0
  52. package/plugins/codex/config.toml.snippet +28 -0
  53. package/plugins/codex/openai.yaml +24 -0
  54. package/plugins/codex/skills/brainstorming/SKILL.md +13 -0
  55. package/plugins/codex/skills/code_audit/SKILL.md +13 -0
  56. package/plugins/codex/skills/epistemic_search/SKILL.md +13 -0
  57. package/plugins/codex/skills/grilling/SKILL.md +13 -0
  58. package/plugins/codex/skills/oss_scout/SKILL.md +13 -0
  59. package/plugins/codex/skills/research_cache/SKILL.md +13 -0
  60. package/plugins/codex/skills/swarm_config/SKILL.md +13 -0
  61. package/plugins/gemini/GEMINI.md +15 -0
  62. package/plugins/gemini/README.md +19 -0
  63. package/plugins/gemini/commands/audit.toml +6 -0
  64. package/plugins/gemini/commands/brainstorming.toml +10 -0
  65. package/plugins/gemini/commands/grill.toml +6 -0
  66. package/plugins/gemini/commands/scout.toml +7 -0
  67. package/plugins/gemini/commands/swarm-config.toml +7 -0
  68. package/plugins/gemini/commands/swarm.toml +8 -0
  69. package/plugins/gemini/gemini-extension.json +38 -0
  70. package/plugins/gemini/hooks/hooks.json +11 -0
  71. package/plugins/gemini/skills/brainstorming/SKILL.md +13 -0
  72. package/plugins/gemini/skills/code_audit/SKILL.md +13 -0
  73. package/plugins/gemini/skills/epistemic_search/SKILL.md +13 -0
  74. package/plugins/gemini/skills/grilling/SKILL.md +13 -0
  75. package/plugins/gemini/skills/oss_scout/SKILL.md +13 -0
  76. package/plugins/gemini/skills/research_cache/SKILL.md +13 -0
  77. package/plugins/gemini/skills/swarm_config/SKILL.md +13 -0
  78. package/plugins/opencode/index.js +335 -118
  79. package/prompts/agent_brainstormer.md +97 -0
  80. package/runner/__pycache__/__init__.cpython-311.pyc +0 -0
  81. package/runner/__pycache__/auctioneer.cpython-311.pyc +0 -0
  82. package/runner/__pycache__/auditor_engine.cpython-311.pyc +0 -0
  83. package/runner/__pycache__/claim_store.cpython-311.pyc +0 -0
  84. package/runner/__pycache__/claim_witness.cpython-311.pyc +0 -0
  85. package/runner/__pycache__/living_dossiers.cpython-311.pyc +0 -0
  86. package/runner/__pycache__/mcp_protocol.cpython-311.pyc +0 -0
  87. package/runner/__pycache__/mcp_server.cpython-311.pyc +0 -0
  88. package/runner/__pycache__/pcrb.cpython-311.pyc +0 -0
  89. package/runner/__pycache__/pcrb_verify.cpython-311.pyc +0 -0
  90. package/runner/__pycache__/refinement.cpython-311.pyc +0 -0
  91. package/runner/__pycache__/research_swarm.cpython-311.pyc +0 -0
  92. package/runner/__pycache__/state_machine.cpython-311.pyc +0 -0
  93. package/runner/auctioneer.py +169 -0
  94. package/runner/auditor_engine.py +127 -12
  95. package/runner/claim_store.py +361 -0
  96. package/runner/claim_witness.py +183 -0
  97. package/runner/living_dossiers.py +355 -0
  98. package/runner/mcp_protocol.py +188 -0
  99. package/runner/mcp_server.py +567 -0
  100. package/runner/pcrb.py +212 -0
  101. package/runner/pcrb_verify.py +237 -0
  102. package/runner/refinement.py +335 -0
  103. package/runner/research_swarm.py +378 -94
  104. package/runner/tests/__pycache__/test_auction_order.cpython-311.pyc +0 -0
  105. package/runner/tests/__pycache__/test_claim_store.cpython-311.pyc +0 -0
  106. package/runner/tests/__pycache__/test_claim_witness.cpython-311.pyc +0 -0
  107. package/runner/tests/__pycache__/test_domain_packs.cpython-311.pyc +0 -0
  108. package/runner/tests/__pycache__/test_fleet_seam.cpython-311.pyc +0 -0
  109. package/runner/tests/__pycache__/test_living_dossiers.cpython-311.pyc +0 -0
  110. package/runner/tests/__pycache__/test_mcp_server.cpython-311.pyc +0 -0
  111. package/runner/tests/__pycache__/test_pcrb.cpython-311.pyc +0 -0
  112. package/runner/tests/__pycache__/test_refinement.cpython-311.pyc +0 -0
  113. package/runner/tests/__pycache__/test_swarm.cpython-311.pyc +0 -0
  114. package/runner/tests/fixtures/auction_objective.json +35 -0
  115. package/runner/tests/fixtures/borderline_claims.json +27 -0
  116. package/runner/tests/fixtures/divergence_objectives.json +31 -0
  117. package/runner/tests/test_auction_order.py +173 -0
  118. package/runner/tests/test_claim_store.py +162 -0
  119. package/runner/tests/test_claim_witness.py +186 -0
  120. package/runner/tests/test_domain_packs.py +217 -0
  121. package/runner/tests/test_fleet_seam.py +113 -0
  122. package/runner/tests/test_living_dossiers.py +204 -0
  123. package/runner/tests/test_mcp_server.py +212 -0
  124. package/runner/tests/test_pcrb.py +240 -0
  125. package/runner/tests/test_refinement.py +255 -0
  126. package/runner/tests/test_swarm.py +173 -15
  127. package/scripts/auction_experiment.py +180 -0
  128. package/scripts/build_adapters.py +183 -0
  129. package/scripts/divergence_experiment.py +184 -0
  130. package/skills/brainstorming/SKILL.md +106 -0
  131. package/skills/brainstorming/__init__.py +1 -0
  132. package/skills/brainstorming/scripts/brainstorm.py +200 -0
  133. package/skills/research_cache/__pycache__/__init__.cpython-311.pyc +0 -0
  134. package/skills/research_cache/__pycache__/hasher.cpython-311.pyc +0 -0
  135. package/skills/swarm_config/SKILL.md +1 -1
  136. package/skills/swarm_config/__pycache__/__init__.cpython-311.pyc +0 -0
  137. package/skills/swarm_config/__pycache__/configure.cpython-311.pyc +0 -0
  138. package/skills/swarm_config/configure.py +45 -11
@@ -0,0 +1,13 @@
1
+ # Swarm Config (thin adapter stub)
2
+
3
+ This file is a POINTER, not the implementation. It exists so harness skill
4
+ discovery finds an entry; the real skill lives in the IUMBTEMS repo.
5
+
6
+ - Canonical prose & scripts: `skills/swarm_config/`
7
+ - Canonical programmatic surface: `python3 runner/mcp_server.py` (stdio MCP),
8
+ or one-shot: `python3 runner/mcp_server.py call <tool> '{...json...}'`
9
+ - MCP tools for this skill: `iumbtems_config`
10
+
11
+ Epistemic rules apply regardless of harness: tag claims as
12
+ `[VERIFIED: <hash>]`, `[INFERRED: <reasoning>]`, `[HYPOTHESIS: <test>]`, or
13
+ `[NEGATIVE_KNOWLEDGE: <query>]`. Writes go only to `.research/`.
@@ -0,0 +1,10 @@
1
+ # IUMBTEMS — paste into your repo AGENTS.md (Codex rule injection)
2
+
3
+ You operate under the Epistemic Integrity Protocol:
4
+ - Parametric memory is quarantined. Fetch, verify, then assert.
5
+ - Tag claims: `[VERIFIED:<hash>]`, `[INFERRED:<chain>]`, `[HYPOTHESIS:<falsification>]`, `[NEGATIVE_KNOWLEDGE:<query>]`.
6
+ - Cache sources: `python3 skills/research-cache/hasher.py cache --url "<URL>" --content "$(cat file.md)"`.
7
+ - Skills: `$grilling` (frontier framing), `$epistemic_search` (verified search),
8
+ `$code-audit` (line-proof audit), `$oss-scout` (license-aware scout),
9
+ `$brainstorming` (lateral ideation — never bug-fix lists).
10
+ - Runners: `python3 runner/research_swarm.py --mode <research|audit|scout|hybrid|brainstorm> --objective "<...>"`.
@@ -0,0 +1,37 @@
1
+ # IUMBTEMS for Codex CLI
2
+
3
+ Codex uses Skills (AgentSkills.io standard), not legacy `~/.codex/prompts/*.md`
4
+ (`/prompts:<name>` is deprecated). Explicit `$skill` / `/skills`, implicit via
5
+ `description`.
6
+
7
+ ## Repo-local use (no install)
8
+
9
+ Codex auto-discovers `.agents/skills/*` from CWD up to repo root.
10
+ This repo ships generated mirrors there (see `scripts/build_adapters.py`):
11
+
12
+ ```
13
+ .agents/skills/{grilling,research_cache,epistemic_search,swarm_config,code_audit,oss_scout,brainstorming}/SKILL.md
14
+ ```
15
+
16
+ Invoke: `$brainstorming Where do we go from here?` or let Codex pick
17
+ implicitly on speculative prompts.
18
+
19
+ ## Plugin distribution
20
+
21
+ `plugins/codex/` is the distributable skill pack:
22
+
23
+ ```
24
+ plugins/codex/
25
+ ├── skills/<skill>/SKILL.md # generated from canonical skills/
26
+ ├── openai.yaml # plugin appearance + component index
27
+ ├── config.toml.snippet # [mcp_servers.*] + [[skills.config]]
28
+ └── AGENTS.md.snippet # paste into repo AGENTS.md for rule injection
29
+ ```
30
+
31
+ Publish as a Codex marketplace plugin (cf. `~/.codex/plugins/cache/...`
32
+ + `~/.codex/config.toml` marketplace blocks), or copy
33
+ `plugins/codex/skills/*` into any repo's `.agents/skills/`.
34
+
35
+ MCP: see `config.toml.snippet` (`codex mcp add ...`, `codex mcp login`).
36
+ Secrets via env: `BRAVE_SEARCH_API_KEY`, `FIRECRAWL_API_KEY`,
37
+ `FIRECRAWL_API_URL`, `SEARXNG_URL`, or `bearer_token_env_var` for HTTP MCP.
@@ -0,0 +1,28 @@
1
+ # IUMBTEMS Codex config snippet — merge into ~/.codex/config.toml
2
+ # MCP servers (stdio via mcp_launcher.py; HTTP variants accept bearer_token_env_var)
3
+
4
+ [mcp_servers.iumbtems-brave-search]
5
+ command = "python3"
6
+ args = ["<IUMBTEMS_ROOT>/config/mcp_launcher.py", "brave-search"]
7
+
8
+ [mcp_servers.iumbtems-firecrawl]
9
+ command = "python3"
10
+ args = ["<IUMBTEMS_ROOT>/config/mcp_launcher.py", "firecrawl"]
11
+
12
+ [mcp_servers.iumbtems-searxng]
13
+ command = "python3"
14
+ args = ["<IUMBTEMS_ROOT>/config/mcp_launcher.py", "searxng"]
15
+
16
+ # Canonical first-party tool surface: the 7 iumbtems_* tools as MCP tools.
17
+ [mcp_servers.iumbtems]
18
+ command = "python3"
19
+ args = ["<IUMBTEMS_ROOT>/runner/mcp_server.py"]
20
+
21
+ # Optional: pin skill paths explicitly (repo .agents/skills auto-discovery
22
+ # usually makes this unnecessary). Replace <IUMBTEMS_ROOT> with repo path.
23
+ # [[skills.config]]
24
+ # path = "<IUMBTEMS_ROOT>/plugins/codex/skills/brainstorming/SKILL.md"
25
+ # enabled = true
26
+
27
+ [features]
28
+ # rm -rf guardrails etc. via exec policy live in ~/.codex/policy/*.codexpolicy
@@ -0,0 +1,24 @@
1
+ name: epistemic-swarm
2
+ description: IUMBTEMS Epistemic Swarm skill pack for Codex CLI
3
+ version: 0.3.0
4
+ license: Apache-2.0
5
+ repository: https://github.com/Heretek-AI/IUMBTEMS
6
+ skills:
7
+ - skills/grilling
8
+ - skills/research_cache
9
+ - skills/epistemic_search
10
+ - skills/swarm_config
11
+ - skills/code_audit
12
+ - skills/oss_scout
13
+ - skills/brainstorming
14
+ runners:
15
+ research: python3 runner/research_swarm.py --objective "<objective>"
16
+ audit: python3 runner/research_swarm.py --mode audit --objective "<target>"
17
+ scout: python3 runner/research_swarm.py --mode scout --objective "<feature>"
18
+ brainstorm: python3 runner/research_swarm.py --mode brainstorm --objective "<prompt>"
19
+ commands:
20
+ swarm: dialectic research swarm
21
+ grill: socratic frontier exploration
22
+ audit: codebase audit with line-level proof
23
+ scout: OSS discovery with license red-teaming
24
+ brainstorming: lateral ideation portfolio
@@ -0,0 +1,13 @@
1
+ # Brainstorming (thin adapter stub)
2
+
3
+ This file is a POINTER, not the implementation. It exists so harness skill
4
+ discovery finds an entry; the real skill lives in the IUMBTEMS repo.
5
+
6
+ - Canonical prose & scripts: `skills/brainstorming/`
7
+ - Canonical programmatic surface: `python3 runner/mcp_server.py` (stdio MCP),
8
+ or one-shot: `python3 runner/mcp_server.py call <tool> '{...json...}'`
9
+ - MCP tools for this skill: `iumbtems_brainstorm`
10
+
11
+ Epistemic rules apply regardless of harness: tag claims as
12
+ `[VERIFIED: <hash>]`, `[INFERRED: <reasoning>]`, `[HYPOTHESIS: <test>]`, or
13
+ `[NEGATIVE_KNOWLEDGE: <query>]`. Writes go only to `.research/`.
@@ -0,0 +1,13 @@
1
+ # Code Audit (thin adapter stub)
2
+
3
+ This file is a POINTER, not the implementation. It exists so harness skill
4
+ discovery finds an entry; the real skill lives in the IUMBTEMS repo.
5
+
6
+ - Canonical prose & scripts: `skills/code_audit/`
7
+ - Canonical programmatic surface: `python3 runner/mcp_server.py` (stdio MCP),
8
+ or one-shot: `python3 runner/mcp_server.py call <tool> '{...json...}'`
9
+ - MCP tools for this skill: `iumbtems_code_audit`
10
+
11
+ Epistemic rules apply regardless of harness: tag claims as
12
+ `[VERIFIED: <hash>]`, `[INFERRED: <reasoning>]`, `[HYPOTHESIS: <test>]`, or
13
+ `[NEGATIVE_KNOWLEDGE: <query>]`. Writes go only to `.research/`.
@@ -0,0 +1,13 @@
1
+ # Epistemic Search (thin adapter stub)
2
+
3
+ This file is a POINTER, not the implementation. It exists so harness skill
4
+ discovery finds an entry; the real skill lives in the IUMBTEMS repo.
5
+
6
+ - Canonical prose & scripts: `skills/epistemic_search/`
7
+ - Canonical programmatic surface: `python3 runner/mcp_server.py` (stdio MCP),
8
+ or one-shot: `python3 runner/mcp_server.py call <tool> '{...json...}'`
9
+ - MCP tools for this skill: `brave_web_search / firecrawl_scrape (research MCP servers)`
10
+
11
+ Epistemic rules apply regardless of harness: tag claims as
12
+ `[VERIFIED: <hash>]`, `[INFERRED: <reasoning>]`, `[HYPOTHESIS: <test>]`, or
13
+ `[NEGATIVE_KNOWLEDGE: <query>]`. Writes go only to `.research/`.
@@ -0,0 +1,13 @@
1
+ # Socratic Grilling (thin adapter stub)
2
+
3
+ This file is a POINTER, not the implementation. It exists so harness skill
4
+ discovery finds an entry; the real skill lives in the IUMBTEMS repo.
5
+
6
+ - Canonical prose & scripts: `skills/grilling/`
7
+ - Canonical programmatic surface: `python3 runner/mcp_server.py` (stdio MCP),
8
+ or one-shot: `python3 runner/mcp_server.py call <tool> '{...json...}'`
9
+ - MCP tools for this skill: `iumbtems_socratic_frontier`
10
+
11
+ Epistemic rules apply regardless of harness: tag claims as
12
+ `[VERIFIED: <hash>]`, `[INFERRED: <reasoning>]`, `[HYPOTHESIS: <test>]`, or
13
+ `[NEGATIVE_KNOWLEDGE: <query>]`. Writes go only to `.research/`.
@@ -0,0 +1,13 @@
1
+ # OSS Scout (thin adapter stub)
2
+
3
+ This file is a POINTER, not the implementation. It exists so harness skill
4
+ discovery finds an entry; the real skill lives in the IUMBTEMS repo.
5
+
6
+ - Canonical prose & scripts: `skills/oss_scout/`
7
+ - Canonical programmatic surface: `python3 runner/mcp_server.py` (stdio MCP),
8
+ or one-shot: `python3 runner/mcp_server.py call <tool> '{...json...}'`
9
+ - MCP tools for this skill: `iumbtems_oss_scout`
10
+
11
+ Epistemic rules apply regardless of harness: tag claims as
12
+ `[VERIFIED: <hash>]`, `[INFERRED: <reasoning>]`, `[HYPOTHESIS: <test>]`, or
13
+ `[NEGATIVE_KNOWLEDGE: <query>]`. Writes go only to `.research/`.
@@ -0,0 +1,13 @@
1
+ # Research Cache (thin adapter stub)
2
+
3
+ This file is a POINTER, not the implementation. It exists so harness skill
4
+ discovery finds an entry; the real skill lives in the IUMBTEMS repo.
5
+
6
+ - Canonical prose & scripts: `skills/research_cache/`
7
+ - Canonical programmatic surface: `python3 runner/mcp_server.py` (stdio MCP),
8
+ or one-shot: `python3 runner/mcp_server.py call <tool> '{...json...}'`
9
+ - MCP tools for this skill: `iumbtems_verify_quote`
10
+
11
+ Epistemic rules apply regardless of harness: tag claims as
12
+ `[VERIFIED: <hash>]`, `[INFERRED: <reasoning>]`, `[HYPOTHESIS: <test>]`, or
13
+ `[NEGATIVE_KNOWLEDGE: <query>]`. Writes go only to `.research/`.
@@ -0,0 +1,13 @@
1
+ # Swarm Config (thin adapter stub)
2
+
3
+ This file is a POINTER, not the implementation. It exists so harness skill
4
+ discovery finds an entry; the real skill lives in the IUMBTEMS repo.
5
+
6
+ - Canonical prose & scripts: `skills/swarm_config/`
7
+ - Canonical programmatic surface: `python3 runner/mcp_server.py` (stdio MCP),
8
+ or one-shot: `python3 runner/mcp_server.py call <tool> '{...json...}'`
9
+ - MCP tools for this skill: `iumbtems_config`
10
+
11
+ Epistemic rules apply regardless of harness: tag claims as
12
+ `[VERIFIED: <hash>]`, `[INFERRED: <reasoning>]`, `[HYPOTHESIS: <test>]`, or
13
+ `[NEGATIVE_KNOWLEDGE: <query>]`. Writes go only to `.research/`.
@@ -0,0 +1,15 @@
1
+ # IUMBTEMS Epistemic Swarm — Gemini CLI context
2
+
3
+ You operate under the Epistemic Integrity Protocol
4
+ (see `prompts/base_epistemic_system.md` in the IUMBTEMS package).
5
+
6
+ - Parametric memory is quarantined. Fetch, verify, then assert.
7
+ - Tag every factual claim: `[VERIFIED:<hash>]`, `[INFERRED:<chain>]`,
8
+ `[HYPOTHESIS:<falsification>]`, `[NEGATIVE_KNOWLEDGE:<query>]`.
9
+ - Cache every source to `.research/sources/<sha256>.md` before citing.
10
+ - Available skills: `grilling`, `research_cache`, `epistemic_search`,
11
+ `swarm_config`, `code_audit`, `oss_scout`, `brainstorming`
12
+ (see `skills/<name>/SKILL.md`).
13
+ - Runners: `python3 runner/research_swarm.py --mode <research|audit|scout|hybrid|brainstorm> --objective "<...>"`.
14
+ - Custom commands (`commands/*.toml`): `/swarm`, `/grill`, `/audit`,
15
+ `/scout`, `/brainstorming`, `/swarm-config`.
@@ -0,0 +1,19 @@
1
+ # IUMBTEMS for Gemini CLI
2
+
3
+ Install from GitHub or local path:
4
+
5
+ ```bash
6
+ gemini extensions install https://github.com/Heretek-AI/IUMBTEMS --path plugins/gemini
7
+ # local dev:
8
+ gemini extensions link /path/to/IUMBTEMS/plugins/gemini
9
+ gemini extensions list
10
+ /commands list
11
+ ```
12
+
13
+ Contents: `gemini-extension.json` (manifest + MCP servers), `GEMINI.md`
14
+ (context loader), `commands/*.toml` (`/swarm`, `/grill`, `/audit`,
15
+ `/scout`, `/brainstorming`, `/swarm-config`), `hooks/hooks.json`,
16
+ `skills/` (generated copies of canonical `skills/` — run
17
+ `scripts/build_adapters.py`). Secrets via env:
18
+ `BRAVE_SEARCH_API_KEY`, `FIRECRAWL_API_KEY`, `FIRECRAWL_API_URL`,
19
+ `SEARXNG_URL`. Zero-key DuckDuckGo fallback needs no keys.
@@ -0,0 +1,6 @@
1
+ description = "Run dialectic codebase architecture and security audit"
2
+ prompt = """Run the IUMBTEMS dialectic codebase audit on: {{args}}.
3
+
4
+ Execute: python3 runner/research_swarm.py --mode audit --objective "{{args}}"
5
+ Report: .research/code_audit_report.md with file:///path#Lstart-Lend pointers.
6
+ """
@@ -0,0 +1,10 @@
1
+ description = "Lateral brainstorming: novel feature vectors and speculative spikes"
2
+ prompt = """Run IUMBTEMS lateral brainstorming on: {{args}}.
3
+
4
+ Follow skills/brainstorming/SKILL.md and prompts/agent_brainstormer.md:
5
+ 1. Ingest workspace context (read-only, capped at ~30% of window).
6
+ 2. Run Thesis / Radical Antithesis / Synthesis — never bug-fix lists.
7
+ 3. Output Novel Feature Vectors (3-5), Lateral Architectural Moves (2-3),
8
+ Experimental Hypotheses (2-3 with [HYPOTHESIS:<falsification test>]).
9
+ 4. Write .research/brainstorm_report.md (or run: python3 runner/research_swarm.py --mode brainstorm --objective "{{args}}").
10
+ """
@@ -0,0 +1,6 @@
1
+ description = "Launch Socratic grilling and decision frontier exploration"
2
+ prompt = """Launch IUMBTEMS Socratic grilling for: {{args}}.
3
+
4
+ Follow skills/grilling/SKILL.md frontier methodology (rounds, assumption inversion,
5
+ factual vs decisional separation). Persist with: python3 skills/grilling/socratic_tree.py --export
6
+ """
@@ -0,0 +1,7 @@
1
+ description = "Scout open-source libraries and build clean-room blueprints"
2
+ prompt = """Scout open-source solutions for: {{args}}.
3
+
4
+ Execute: python3 runner/research_swarm.py --mode scout --objective "{{args}}"
5
+ Flag GPL/AGPL contamination, maintenance health, and dependency weight.
6
+ Report: .research/oss_scout_report.md
7
+ """
@@ -0,0 +1,7 @@
1
+ description = "Inspect or tune Epistemic Swarm parameters (engine, depth, mode)"
2
+ prompt = """Inspect or tune IUMBTEMS swarm parameters for: {{args}}.
3
+
4
+ Execute: python3 skills/swarm_config/configure.py {{args}}
5
+ Engines: duckduckgo (zero-key default), brave, firecrawl, searxng.
6
+ Modes: research, audit, scout, hybrid, brainstorm. Depth: 1-4.
7
+ """
@@ -0,0 +1,8 @@
1
+ description = "Run IUMBTEMS dialectic research swarm on an objective"
2
+ prompt = """Run the IUMBTEMS dialectic research swarm on the given objective: {{args}}.
3
+
4
+ Steps:
5
+ 1. Read skills/grilling/SKILL.md only if the objective is ambiguous.
6
+ 2. Execute: python3 runner/research_swarm.py --objective "{{args}}"
7
+ 3. Summarize .research/final_synthesis.md with [VERIFIED:<hash>] pointers preserved.
8
+ """
@@ -0,0 +1,38 @@
1
+ {
2
+ "name": "epistemic-swarm",
3
+ "version": "0.3.0",
4
+ "description": "IUMBTEMS Epistemic Swarm: dialectic research, code audit, OSS scout, and lateral brainstorming for Gemini CLI.",
5
+ "mcpServers": {
6
+ "brave-search": {
7
+ "command": "python3",
8
+ "args": ["${extensionPath}/../../config/mcp_launcher.py", "brave-search"],
9
+ "env": {
10
+ "BRAVE_SEARCH_API_KEY": "${BRAVE_SEARCH_API_KEY}"
11
+ }
12
+ },
13
+ "firecrawl": {
14
+ "command": "python3",
15
+ "args": ["${extensionPath}/../../config/mcp_launcher.py", "firecrawl"],
16
+ "env": {
17
+ "FIRECRAWL_API_KEY": "${FIRECRAWL_API_KEY}",
18
+ "FIRECRAWL_API_URL": "${FIRECRAWL_API_URL:-http://localhost:3002}"
19
+ }
20
+ },
21
+ "searxng": {
22
+ "command": "python3",
23
+ "args": ["${extensionPath}/../../config/mcp_launcher.py", "searxng"],
24
+ "env": {
25
+ "SEARXNG_URL": "${SEARXNG_URL:-http://localhost:8080}"
26
+ }
27
+ },
28
+ "iumbtems": {
29
+ "command": "python3",
30
+ "args": ["${extensionPath}/../../runner/mcp_server.py"],
31
+ "env": {
32
+ "PYTHONPATH": "${extensionPath}/../.."
33
+ }
34
+ }
35
+ },
36
+ "contextFileName": "GEMINI.md",
37
+ "excludeTools": []
38
+ }
@@ -0,0 +1,11 @@
1
+ {
2
+ "hooks": {
3
+ "pre_tool": [
4
+ {
5
+ "matcher": "WebSearch",
6
+ "action": "redirect",
7
+ "reason": "Use epistemic search (skills/epistemic_search/scripts/search.py) for SHA-256 cached verification."
8
+ }
9
+ ]
10
+ }
11
+ }
@@ -0,0 +1,13 @@
1
+ # Brainstorming (thin adapter stub)
2
+
3
+ This file is a POINTER, not the implementation. It exists so harness skill
4
+ discovery finds an entry; the real skill lives in the IUMBTEMS repo.
5
+
6
+ - Canonical prose & scripts: `skills/brainstorming/`
7
+ - Canonical programmatic surface: `python3 runner/mcp_server.py` (stdio MCP),
8
+ or one-shot: `python3 runner/mcp_server.py call <tool> '{...json...}'`
9
+ - MCP tools for this skill: `iumbtems_brainstorm`
10
+
11
+ Epistemic rules apply regardless of harness: tag claims as
12
+ `[VERIFIED: <hash>]`, `[INFERRED: <reasoning>]`, `[HYPOTHESIS: <test>]`, or
13
+ `[NEGATIVE_KNOWLEDGE: <query>]`. Writes go only to `.research/`.
@@ -0,0 +1,13 @@
1
+ # Code Audit (thin adapter stub)
2
+
3
+ This file is a POINTER, not the implementation. It exists so harness skill
4
+ discovery finds an entry; the real skill lives in the IUMBTEMS repo.
5
+
6
+ - Canonical prose & scripts: `skills/code_audit/`
7
+ - Canonical programmatic surface: `python3 runner/mcp_server.py` (stdio MCP),
8
+ or one-shot: `python3 runner/mcp_server.py call <tool> '{...json...}'`
9
+ - MCP tools for this skill: `iumbtems_code_audit`
10
+
11
+ Epistemic rules apply regardless of harness: tag claims as
12
+ `[VERIFIED: <hash>]`, `[INFERRED: <reasoning>]`, `[HYPOTHESIS: <test>]`, or
13
+ `[NEGATIVE_KNOWLEDGE: <query>]`. Writes go only to `.research/`.
@@ -0,0 +1,13 @@
1
+ # Epistemic Search (thin adapter stub)
2
+
3
+ This file is a POINTER, not the implementation. It exists so harness skill
4
+ discovery finds an entry; the real skill lives in the IUMBTEMS repo.
5
+
6
+ - Canonical prose & scripts: `skills/epistemic_search/`
7
+ - Canonical programmatic surface: `python3 runner/mcp_server.py` (stdio MCP),
8
+ or one-shot: `python3 runner/mcp_server.py call <tool> '{...json...}'`
9
+ - MCP tools for this skill: `brave_web_search / firecrawl_scrape (research MCP servers)`
10
+
11
+ Epistemic rules apply regardless of harness: tag claims as
12
+ `[VERIFIED: <hash>]`, `[INFERRED: <reasoning>]`, `[HYPOTHESIS: <test>]`, or
13
+ `[NEGATIVE_KNOWLEDGE: <query>]`. Writes go only to `.research/`.
@@ -0,0 +1,13 @@
1
+ # Socratic Grilling (thin adapter stub)
2
+
3
+ This file is a POINTER, not the implementation. It exists so harness skill
4
+ discovery finds an entry; the real skill lives in the IUMBTEMS repo.
5
+
6
+ - Canonical prose & scripts: `skills/grilling/`
7
+ - Canonical programmatic surface: `python3 runner/mcp_server.py` (stdio MCP),
8
+ or one-shot: `python3 runner/mcp_server.py call <tool> '{...json...}'`
9
+ - MCP tools for this skill: `iumbtems_socratic_frontier`
10
+
11
+ Epistemic rules apply regardless of harness: tag claims as
12
+ `[VERIFIED: <hash>]`, `[INFERRED: <reasoning>]`, `[HYPOTHESIS: <test>]`, or
13
+ `[NEGATIVE_KNOWLEDGE: <query>]`. Writes go only to `.research/`.
@@ -0,0 +1,13 @@
1
+ # OSS Scout (thin adapter stub)
2
+
3
+ This file is a POINTER, not the implementation. It exists so harness skill
4
+ discovery finds an entry; the real skill lives in the IUMBTEMS repo.
5
+
6
+ - Canonical prose & scripts: `skills/oss_scout/`
7
+ - Canonical programmatic surface: `python3 runner/mcp_server.py` (stdio MCP),
8
+ or one-shot: `python3 runner/mcp_server.py call <tool> '{...json...}'`
9
+ - MCP tools for this skill: `iumbtems_oss_scout`
10
+
11
+ Epistemic rules apply regardless of harness: tag claims as
12
+ `[VERIFIED: <hash>]`, `[INFERRED: <reasoning>]`, `[HYPOTHESIS: <test>]`, or
13
+ `[NEGATIVE_KNOWLEDGE: <query>]`. Writes go only to `.research/`.
@@ -0,0 +1,13 @@
1
+ # Research Cache (thin adapter stub)
2
+
3
+ This file is a POINTER, not the implementation. It exists so harness skill
4
+ discovery finds an entry; the real skill lives in the IUMBTEMS repo.
5
+
6
+ - Canonical prose & scripts: `skills/research_cache/`
7
+ - Canonical programmatic surface: `python3 runner/mcp_server.py` (stdio MCP),
8
+ or one-shot: `python3 runner/mcp_server.py call <tool> '{...json...}'`
9
+ - MCP tools for this skill: `iumbtems_verify_quote`
10
+
11
+ Epistemic rules apply regardless of harness: tag claims as
12
+ `[VERIFIED: <hash>]`, `[INFERRED: <reasoning>]`, `[HYPOTHESIS: <test>]`, or
13
+ `[NEGATIVE_KNOWLEDGE: <query>]`. Writes go only to `.research/`.
@@ -0,0 +1,13 @@
1
+ # Swarm Config (thin adapter stub)
2
+
3
+ This file is a POINTER, not the implementation. It exists so harness skill
4
+ discovery finds an entry; the real skill lives in the IUMBTEMS repo.
5
+
6
+ - Canonical prose & scripts: `skills/swarm_config/`
7
+ - Canonical programmatic surface: `python3 runner/mcp_server.py` (stdio MCP),
8
+ or one-shot: `python3 runner/mcp_server.py call <tool> '{...json...}'`
9
+ - MCP tools for this skill: `iumbtems_config`
10
+
11
+ Epistemic rules apply regardless of harness: tag claims as
12
+ `[VERIFIED: <hash>]`, `[INFERRED: <reasoning>]`, `[HYPOTHESIS: <test>]`, or
13
+ `[NEGATIVE_KNOWLEDGE: <query>]`. Writes go only to `.research/`.