majlis 0.8.1 → 0.8.2

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 (2) hide show
  1. package/dist/cli.js +12 -12
  2. package/package.json +1 -1
package/dist/cli.js CHANGED
@@ -531,7 +531,7 @@ Read source code at the specific locations relevant to your change. Do NOT
531
531
  read the entire codebase or run diagnostic Python scripts. If the synthesis
532
532
  says "lines 1921-22" then read those lines and their context. That's it.
533
533
 
534
- Do NOT read raw data files (fixtures/, ground truth JSON/STL). The synthesis
534
+ Do NOT read raw data files (fixtures/, ground truth, test data). The synthesis
535
535
  has the relevant facts. Reading raw data wastes turns re-deriving what the
536
536
  doubt/challenge/verify cycle already established.
537
537
 
@@ -570,7 +570,7 @@ Do NOT iterate. Do NOT "try one more thing." The adversary, critic, and verifier
570
570
  exist to diagnose what went wrong. The cycle comes back to you with their insights.
571
571
 
572
572
  ## Off-limits (DO NOT modify)
573
- - \`fixtures/\` \u2014 test data, ground truth, STL files. Read-only.
573
+ - \`fixtures/\` \u2014 test data, ground truth, reference outputs. Read-only.
574
574
  - \`scripts/benchmark.py\` \u2014 the measurement tool. Never change how you're measured.
575
575
  - \`.majlis/\` \u2014 framework config. Not your concern.
576
576
 
@@ -1153,9 +1153,9 @@ falsifiable structural constraint that blocks future experiments from repeating
1153
1153
  ## Constraint Quality
1154
1154
 
1155
1155
  Good constraints are specific and block future repetition:
1156
- - "L6 config space is null \u2014 13-eval Bayesian sweep found all 12 params insensitive (ls=1.27), score ceiling 0.67"
1157
- - "Relaxing curvature split threshold in recursive_curvature_split causes false splits on pure-surface thin strips (seg_pct 95->72.5)"
1158
- - "Torus topology prevents genus-0 assumption for manifold extraction"
1156
+ - "Binary search fallback in sortedMerge() is O(n log n) worst-case when input contains >40% duplicates \u2014 measured via 13-run sweep, ceiling 0.67x baseline"
1157
+ - "Relaxing the pruning threshold in recursiveSplit() causes false positives on sparse inputs (accuracy 95->72.5%)"
1158
+ - "Cyclic dependency in the module graph prevents topological sort \u2014 requires at least one back-edge cut"
1159
1159
 
1160
1160
  Bad constraints are vague and useless:
1161
1161
  - "Didn't work"
@@ -2436,7 +2436,7 @@ ${taskPrompt}`;
2436
2436
  }
2437
2437
  async function spawnSynthesiser(context, projectRoot, opts) {
2438
2438
  const root = projectRoot ?? findProjectRoot() ?? process.cwd();
2439
- const maxTurns = opts?.maxTurns ?? 5;
2439
+ const maxTurns = opts?.maxTurns ?? 15;
2440
2440
  const tools = opts?.tools ?? ["Read", "Glob", "Grep"];
2441
2441
  const contextJson = JSON.stringify(context);
2442
2442
  const taskPrompt = context.taskPrompt ?? "Synthesise the findings into actionable builder guidance.";
@@ -2540,7 +2540,7 @@ async function generateSlug(hypothesis, projectRoot) {
2540
2540
 
2541
2541
  "${hypothesis.slice(0, 500)}"
2542
2542
 
2543
- Output ONLY the slug, nothing else. Examples: uv-containment-filter, skip-degenerate-faces, fix-edge-sewing-order`,
2543
+ Output ONLY the slug, nothing else. Examples: add-index-lookup, skip-empty-batches, fix-retry-backoff`,
2544
2544
  model: "haiku",
2545
2545
  tools: [],
2546
2546
  systemPrompt: "Output only a short hyphenated slug. No explanation, no quotes, no punctuation except hyphens.",
@@ -2615,13 +2615,13 @@ var init_spawn = __esm({
2615
2615
  adversary: 30,
2616
2616
  verifier: 50,
2617
2617
  compressor: 30,
2618
- reframer: 20,
2619
- scout: 20,
2620
- gatekeeper: 10,
2618
+ reframer: 30,
2619
+ scout: 30,
2620
+ gatekeeper: 15,
2621
2621
  diagnostician: 60,
2622
2622
  cartographer: 40,
2623
2623
  toolsmith: 30,
2624
- postmortem: 20
2624
+ postmortem: 30
2625
2625
  };
2626
2626
  CHECKPOINT_INTERVAL = {
2627
2627
  builder: 12,
@@ -6697,7 +6697,7 @@ DO NOT read source code or use tools. All context you need is above. Plan from t
6697
6697
  - It must be specific and actionable \u2014 name the function or mechanism to change
6698
6698
  - Do NOT reference specific line numbers \u2014 they shift between experiments
6699
6699
  - The hypothesis should be a single sentence describing what to do, e.g.:
6700
- "Activate addSeamEdges() in the runEdgeFirst pipeline for full-revolution cylinder faces"
6700
+ "Replace the O(n^2) pairwise comparison in filterCandidates() with an interval-tree lookup"
6701
6701
 
6702
6702
  CRITICAL: Your LAST line of output MUST be EXACTLY this format (on its own line, nothing after it):
6703
6703
  <!-- majlis-json {"goal_met": false, "hypothesis": "your single-sentence hypothesis here"} -->
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "majlis",
3
- "version": "0.8.1",
3
+ "version": "0.8.2",
4
4
  "description": "Multi-agent workflow CLI for structured doubt, independent verification, and compressed knowledge",
5
5
  "bin": {
6
6
  "majlis": "./dist/cli.js"