From 9cc659216ccbd7a842a9b71d63a0db42483dfee4 Mon Sep 17 00:00:00 2001 From: Claude Date: Tue, 27 Oct 2026 11:26:42 +0000 Subject: [PATCH 1/5] protocol: scaffolder names probe_.py and creates results/ and literature/; portable run commands MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit new_question.py left the probe stub as probe_template.py while writing probe_ into the FINDINGS.md reproduce line and the probe docstring, so the CI entry a newcomer copied did not resolve. It now renames the stub, creates results/ and literature/, and prints the real module. RESEARCH_PROTOCOL.md, the template, and question_pipeline.js ran under the owner's laptop venv path and named a branch that no longer exists; they now run `python -m …` from the repo root, name the shared infrastructure with its package prefixes, and state the current house style. Co-Authored-By: Claude Fable 5.1 Claude-Session: https://claude.ai/code/session_01H7Xkmpzs9ewHjVmrjPYwYV --- org_frontier/protocol/README.md | 10 ++++--- org_frontier/protocol/RESEARCH_PROTOCOL.md | 34 +++++++++++++--------- org_frontier/protocol/new_question.py | 23 +++++++++++---- org_frontier/protocol/question_pipeline.js | 8 ++--- org_frontier/protocol/template/FINDINGS.md | 2 +- org_frontier/protocol/template/methods.md | 10 ++++--- 6 files changed, 55 insertions(+), 32 deletions(-) diff --git a/org_frontier/protocol/README.md b/org_frontier/protocol/README.md index a387ffb4..912b82d3 100644 --- a/org_frontier/protocol/README.md +++ b/org_frontier/protocol/README.md @@ -9,8 +9,9 @@ run it and the work that validated it. hypotheses, methods, run, paper), the quality gates, and the reusable infrastructure each stage uses. The authoritative spec. - **`template/`** — the per-question directory template (`review.md`, `hypotheses.md`, `methods.md`, - `paper.md`, `FINDINGS.md`, `probe_template.py`). Copy it to `questions/q_/` to run a question - by hand. + `paper.md`, `FINDINGS.md`, `probe_template.py`). `python -m org_frontier.protocol.new_question --slug + ` copies it to `questions/q_/`, names the probe stub, and creates `results/` and + `literature/`; place the question first with `python tools/build_catalog.py --find ""`. - **`question_pipeline.js`** — the Workflow script that runs all six stages automatically for one question. Manual execution by the template is the fallback whenever the automated run is brittle. - **`methodology_review.md`** — a Stage-1 review of the protocol itself against established norms. @@ -47,8 +48,9 @@ replacement fails. The run validated the orchestration with no manual fallback. ## The public write-up `../essays/studying_algorithmacy.md` lays out the method this lab runs, grounded in the methodology -research and the 134-probe track record, with the Q43 pilot as the worked example. +research and the probe track record, with the Q43 pilot as the worked example. ## The queue -`../RESEARCH_AGENDA_50_V2.md` holds 50 questions. Q43 is done; the rest are pending. +The fifty questions in `../RESEARCH_AGENDA_50_V2.md` are answered, as are the later agendas. The threads +still open, with status and what each needs, are in [`../../OPEN_QUESTIONS.md`](../../OPEN_QUESTIONS.md). diff --git a/org_frontier/protocol/RESEARCH_PROTOCOL.md b/org_frontier/protocol/RESEARCH_PROTOCOL.md index 8f8336d2..57f38bbb 100644 --- a/org_frontier/protocol/RESEARCH_PROTOCOL.md +++ b/org_frontier/protocol/RESEARCH_PROTOCOL.md @@ -1,8 +1,9 @@ # Research protocol: from a queued question to a finished paper A fixed pipeline for taking one research question through to a complete quantitative paper. It applies to -the 50 questions in `RESEARCH_AGENDA_50_V2.md` and to any future question the lab adds. Each question runs -the same six stages, produces the same artifacts, and passes the same gates. +every question the lab adds; the written agendas are answered, and the open threads are listed in +[`OPEN_QUESTIONS.md`](../../OPEN_QUESTIONS.md). Each question runs the same six stages, produces the same +artifacts, and passes the same gates. This protocol is self-contained. It overlaps with `RESEARCH_PLAYBOOK.md`, which covers a different job — engaging an external paper with a ground-truth instrument the authors lacked. When the two disagree, this @@ -11,7 +12,7 @@ gates below are stated here in full so a reader needs only this file. ## Two rules that carry the weight -1. **Compute, do not assert.** When a claim can be checked against exact Φ, run it. Across 134 probes the +1. **Compute, do not assert.** When a claim can be checked against exact Φ, run it. Across the probe log the claims that sounded obvious and turned out wrong were caught only by running the numbers. 2. **Fix the hypotheses before computing.** Stage 3 writes H1–H5 and their nulls before any test runs, so a null is a result and not a non-finding. @@ -25,7 +26,9 @@ start until the previous stage's gate passes. **Purpose.** Place the question against what the lab already knows, so the new work extends rather than repeats. **Artifact:** `review.md` — the question stated precisely, the prior probes that bear on it (by number, from `probes/PROBES.md`), what they found, and the specific gap this question opens. **Reused -infrastructure:** `probes/PROBES.md`, the `RESEARCH_PROGRAM*.md` readings, `STRUCTURAL_FINDINGS.md`. +infrastructure:** `python tools/build_catalog.py --find ""` (the nearest prior questions, probes, +and studies, from the generated `catalog.json`), `probes/PROBES.md`, the `RESEARCH_PROGRAM*.md` readings, +`STRUCTURAL_FINDINGS.md`. **Gate:** the review names at least the directly-related probes and states one sentence on why the question is not already answered. If a prior probe answers it, stop and record that. @@ -52,9 +55,10 @@ fewer distinct, separable predictions, and say so. **Purpose.** Specify, per hypothesis, the exact test. **Artifact:** `methods.md` — for each hypothesis: the form or ensemble (exact rules or parameters, not prose), the measure (verdict, Φ, major complex, or a named information measure), the controls, and the statistic that decides the hypothesis. **Reused -infrastructure:** `classifier/classifier.py` (`classify_rules`, `tpm_from_rules`, `cm_from_rules`), -`probes/lib.py` (`verdict`, `major_complex`, `max_phi_float`), `probes/_info.py` (entropy, mutual -information, transfer entropy, O-information), `proxy_audit/exact_phi.py` (exact Φ, trajectories). **Gate:** +infrastructure:** `org_frontier/classifier/classifier.py` (`classify_rules`, `tpm_from_rules`, +`cm_from_rules`), `org_frontier/probes/lib.py` (`verdict`, `major_complex`, `max_phi_float`), +`org_frontier/probes/_info.py` (entropy, mutual information, transfer entropy, O-information), +`foundations/proxy_audit/exact_phi.py` (exact Φ, trajectories). **Gate:** a reader could reproduce every test from `methods.md` without the code; each hypothesis has a decision rule fixed before the run. **This stage carries the credibility.** The evidence on pre-registration is that fixing hypotheses alone changes little; the complete pre-analysis plan is what reduces p-hacking (Brodeur @@ -67,7 +71,8 @@ probe pattern — module docstring with question, hypothesis, method, and run co and new rows appended to `probes/PROBES.md` continuing the global numbering. **Gate (instrument validation, non-negotiable):** before trusting any comparison, the instrument must reproduce a known control — a form whose verdict is already established (a strict-mediation triad reads triadic at Φ=2.0; a -relay reads dyadic). Run on `~/iit-playground/venv-4.0/bin/python`. Record exact numbers; a probe that +relay reads dyadic). Run from the repo root with the project venv active: +`python -m org_frontier.questions.q_.probe_`. Record exact numbers; a probe that refutes its hypothesis is logged as refuted. ### Stage 6 — The paper @@ -86,16 +91,17 @@ hypotheses are reported as refuted; the prose passes the de-slop checks below; e second model that reproduces it (docking; Axtell 1996). It is not yet evidence about a real organization. Cross-model agreement establishes internal validity; external validity to organizations is a separate, unmet claim. Every paper states this in Limitations and does not overread the in-silico result. -- **Honest nulls.** A refuted or partial hypothesis is a first-class result. The 134-probe logbook is +- **Honest nulls.** A refuted or partial hypothesis is a first-class result. The probe logbook is roughly one-third nulls and refinements, and that mix is what makes it credible. -- **De-slop pass on all prose** (`CLAUDE.md`). No first person. Cut the antithesis machine (`, not X`, - `X rather than Y`, `is not a/the/an`), self-narration of rigor, and metronomic short openers. Mechanical - check per ~1,000 words: the combined antithesis count well under five, self-honesty phrases at zero, - fragment openers at most one in three. Section titles are short noun phrases. +- **House style on all prose** (`CLAUDE.md`, its current rules). Claim-first paragraphs, named agents in + active voice, first person only for authorial labor (I searched, I coded), no sentence commenting on + the paper's own rigor, no emphasis-marker openers (Crucially, Importantly, Notably). Run the flow + self-check in `CLAUDE.md` on each paragraph. Section titles are short noun phrases. - **Citation integrity.** Every in-text citation resolves to a real source in `references.bib`; author names, years, and venues verified; no citation enters on model output alone. - **Reproducibility.** The paper's methods plus the committed `probe_*.py` reproduce every figure from the - venv. Commit each stage; push to `origin/worktree/org-frontier`; leave `dissertation/` untouched. + venv, and every reported number is registered in `ci/reproduce.json`. Commit each stage on a branch off + `contrib` and land it by pull request (`AGENTS.md`); leave `dissertation/` untouched. ## Running it diff --git a/org_frontier/protocol/new_question.py b/org_frontier/protocol/new_question.py index a29fa293..047b55e7 100644 --- a/org_frontier/protocol/new_question.py +++ b/org_frontier/protocol/new_question.py @@ -2,8 +2,13 @@ A new contributor does not have to hand-copy the template or guess the next probe number. This finds the highest probe number already logged in ``org_frontier/probes/PROBES.md``, -copies ``org_frontier/protocol/template/`` to ``org_frontier/questions/q_/``, and -substitutes the placeholders (``, ``, the starting probe number) in each artifact. +copies ``org_frontier/protocol/template/`` to ``org_frontier/questions/q_/``, renames +the probe stub to ``probe_.py`` so the reproduce command in ``FINDINGS.md`` resolves, creates +the ``results/`` and ``literature/`` directories the protocol's stages write into, and substitutes +the placeholders (``, ``, the starting probe number) in each artifact. + +Before scaffolding, place the question against what the lab already has: + python tools/build_catalog.py --find "your question in a few words" It does not touch PROBES.md or ci/reproduce.json — you register your numbers there yourself once the probes run, so the commit history shows hypotheses fixed before results. @@ -52,6 +57,10 @@ def scaffold(qid: int, slug: str, question: str, start_probe: int) -> str: raise SystemExit(f"refusing to overwrite existing {dest}") shutil.copytree(_TEMPLATE, dest) open(os.path.join(dest, "__init__.py"), "w").close() + os.rename(os.path.join(dest, "probe_template.py"), os.path.join(dest, f"probe_{slug}.py")) + for sub in ("results", "literature"): + os.makedirs(os.path.join(dest, sub), exist_ok=True) + open(os.path.join(dest, sub, ".gitkeep"), "w").close() subs = {"": str(qid), "": slug, "": str(start_probe), "": question} for name in os.listdir(dest): @@ -85,12 +94,16 @@ def main() -> int: dest = scaffold(qid, args.slug, args.question, start) rel = os.path.relpath(dest, _REPO_ROOT) + module = f"org_frontier.questions.q{qid}_{args.slug}.probe_{args.slug}" print(f"Scaffolded {rel} (probes start at {start}).") print("Next, following org_frontier/protocol/RESEARCH_PROTOCOL.md:") - print(f" 1. fill review.md, then hypotheses.md, and commit BEFORE computing") - print(f" 2. write methods.md and the probe_*.py scripts; run them from the repo root") + print(f" 1. fill review.md (prior probes: `python tools/build_catalog.py --find ...`),") + print(f" then hypotheses.md, and commit BEFORE computing") + print(f" 2. write methods.md and probe_{args.slug}.py (add more probe_*.py as needed);") + print(f" run from the repo root: python -m {module}") print(f" 3. write FINDINGS.md and paper.md, then register numbers in ci/reproduce.json") - print(f" 4. run `python tools/build_index.py` to add your question to the README directory") + print(f" 4. run `python tools/build_index.py` and `python tools/build_catalog.py` so the") + print(f" question is indexed") return 0 diff --git a/org_frontier/protocol/question_pipeline.js b/org_frontier/protocol/question_pipeline.js index 784204f6..2eb6b031 100644 --- a/org_frontier/protocol/question_pipeline.js +++ b/org_frontier/protocol/question_pipeline.js @@ -83,7 +83,7 @@ const RESULT_SCHEMA = { phase('Review') const review = await agent( `Stage 1 review for research question Q${id}: "${question}". -Read org_frontier/probes/PROBES.md and org_frontier/STRUCTURAL_FINDINGS.md. Find the prior probes that bear on this question (cite by number), what they found, and the specific gap this question opens. If a prior probe already answers it, say so. Write the review to ${dir}/review.md following the layout of org_frontier/protocol/template/review.md. Return a three-sentence summary of the gap.`, +Run python tools/build_catalog.py --find "" for the nearest prior questions, probes, and studies, then read org_frontier/probes/PROBES.md and org_frontier/STRUCTURAL_FINDINGS.md. Find the prior probes that bear on this question (cite by number), what they found, and the specific gap this question opens. If a prior probe already answers it, say so. Write the review to ${dir}/review.md following the layout of org_frontier/protocol/template/review.md. Return a three-sentence summary of the gap.`, { phase: 'Review', label: 'review' }) phase('Deep research') @@ -104,7 +104,7 @@ phase('Run') const results = await parallel(methods.tests.map((t, i) => () => agent( `Stage 5 for Q${id}, hypothesis "${t.hypothesis}". Implement ${dir}/probe_${t.slug}.py per its spec in ${dir}/methods.md: ${t.spec} -Ensure the package path works: create empty org_frontier/questions/__init__.py and ${dir}/__init__.py and ${dir}/results/.gitkeep if they do not exist. The probe module must insert the repo root onto sys.path at the top (compute it from __file__) and import from org_frontier.* and proxy_audit.*, so it also runs as a direct script. FIRST assert an instrument control passes (a known form reproduces its known verdict, e.g. the strict-mediation triad reads triadic at Φ=2.0); abort if it fails. Then run the test, print exact numbers, and write any CSV to ${dir}/results/. Run it with: ~/iit-playground/venv-4.0/bin/python ${dir}/probe_${t.slug}.py 2>&1 | grep -v "Welcome to PyPhi\\|pyphi.config". If imports fail, fix the sys.path insertion and retry. Report the exact numbers, the verdict (confirmed/partial/refuted — report refutation honestly), the probe file path, and a one-line PROBES.md result row.`, +Ensure the package path works: create empty org_frontier/questions/__init__.py and ${dir}/__init__.py and ${dir}/results/.gitkeep if they do not exist. The probe module must insert the repo root onto sys.path at the top (compute it from __file__) and import from org_frontier.* and foundations.proxy_audit.*, so it also runs as a direct script. FIRST assert an instrument control passes (a known form reproduces its known verdict, e.g. the strict-mediation triad reads triadic at Φ=2.0); abort if it fails. Then run the test, print exact numbers, and write any CSV to ${dir}/results/. Run it from the repo root with the project venv active (GETTING_STARTED.md): PYPHI_WELCOME_OFF=true python ${dir}/probe_${t.slug}.py. If imports fail, fix the sys.path insertion and retry. Report the exact numbers, the verdict (confirmed/partial/refuted — report refutation honestly), the probe file path, and a one-line PROBES.md result row.`, { phase: 'Run', label: `run:${t.slug}`, schema: RESULT_SCHEMA }) )).then(r => r.filter(Boolean)) @@ -115,11 +115,11 @@ const logged = await agent( phase('Paper') const paper = await agent( - `Stage 6 for Q${id}. Write ${dir}/paper.md (Abstract, Introduction, Related work from the deep research, Hypotheses, Methods, Results, Discussion, Limitations, References) and a compact ${dir}/FINDINGS.md, from the results: ${JSON.stringify(results)}. Use org_frontier/protocol/template/paper.md. Every number must trace to ${dir}/results/ or the logged probes. Report refuted hypotheses as refuted. Write in the CLAUDE.md house style (no first person, plain, section titles as short noun phrases).`, + `Stage 6 for Q${id}. Write ${dir}/paper.md (Abstract, Introduction, Related work from the deep research, Hypotheses, Methods, Results, Discussion, Limitations, References) and a compact ${dir}/FINDINGS.md, from the results: ${JSON.stringify(results)}. Use org_frontier/protocol/template/paper.md. Every number must trace to ${dir}/results/ or the logged probes. Report refuted hypotheses as refuted. Write in the CLAUDE.md house style (claim-first, named agents in active voice, first person only for authorial labor, section titles as short noun phrases).`, { phase: 'Paper', label: 'paper' }) const deslop = await agent( - `De-slop pass on ${dir}/paper.md and ${dir}/FINDINGS.md per org_frontier/CLAUDE.md: cut the antithesis machine (", not X", "X rather than Y", "is not a/the/an"), self-narration of rigor, and metronomic short openers; enforce no first person and short-noun-phrase section titles. Edit the files in place. Report the per-1000-word grep counts (em-dashes, antithesis constructions, banned openers) and confirm they are under threshold.`, + `Style pass on ${dir}/paper.md and ${dir}/FINDINGS.md per the root CLAUDE.md (its current rules, not the retired ones): run the flow self-check paragraph by paragraph (tail-head linkage, end-focus, no citation parenthesis where the next sentence needs a handle, no stacked one-finding-per-sentence lists), cut self-narration of rigor and emphasis-marker openers (Crucially, Importantly, Notably), keep first person only for authorial labor, keep section titles as short noun phrases. Edit the files in place. Report what you changed and anything you deliberately kept.`, { phase: 'Paper', label: 'deslop' }) return { diff --git a/org_frontier/protocol/template/FINDINGS.md b/org_frontier/protocol/template/FINDINGS.md index 7c2666b0..33fb3368 100644 --- a/org_frontier/protocol/template/FINDINGS.md +++ b/org_frontier/protocol/template/FINDINGS.md @@ -12,4 +12,4 @@ **Caveats.** -**Reproduce.** `~/iit-playground/venv-4.0/bin/python -m org_frontier.questions.q_.probe_` +**Reproduce.** From the repo root with the venv active: `python -m org_frontier.questions.q_.probe_` (about s). diff --git a/org_frontier/protocol/template/methods.md b/org_frontier/protocol/template/methods.md index 8d1fd75f..160c3e3b 100644 --- a/org_frontier/protocol/template/methods.md +++ b/org_frontier/protocol/template/methods.md @@ -4,10 +4,12 @@ For each hypothesis: the form or ensemble (exact rules/parameters), the measure, decision rule fixed before the run. A reader should reproduce every test from this file alone. ## Shared infrastructure -- Verdict / Φ / major complex: `classifier.classifier` (`classify_rules`, `tpm_from_rules`, - `cm_from_rules`), `probes/lib.py` (`verdict`, `major_complex`, `max_phi_float`). -- Information measures: `probes/_info.py` (entropy, mutual_information, transfer_entropy, o_information). -- Exact Φ / trajectories: `proxy_audit/exact_phi.py`. +- Verdict / Φ / major complex: `org_frontier/classifier/classifier.py` (`classify_rules`, + `tpm_from_rules`, `cm_from_rules`), `org_frontier/probes/lib.py` (`verdict`, `major_complex`, + `max_phi_float`). +- Information measures: `org_frontier/probes/_info.py` (entropy, mutual_information, transfer_entropy, + o_information). +- Exact Φ / trajectories: `foundations/proxy_audit/exact_phi.py`. - Python: run from the repo root with the project venv active (see `GETTING_STARTED.md`). ## Instrument control (run first) From 81e8f746173e53887dd56f8a8fd8d2e4ab831300 Mon Sep 17 00:00:00 2001 From: Claude Date: Tue, 27 Oct 2026 11:26:42 +0000 Subject: [PATCH 2/5] probes: run commands use the project venv, not the owner's laptop path Co-Authored-By: Claude Fable 5.1 Claude-Session: https://claude.ai/code/session_01H7Xkmpzs9ewHjVmrjPYwYV --- org_frontier/probes/probe_abm_difficulty.py | 2 +- org_frontier/probes/probe_adaptive.py | 2 +- org_frontier/probes/probe_adversarial.py | 2 +- org_frontier/probes/probe_aimc.py | 2 +- org_frontier/probes/probe_aimc_boundary.py | 2 +- org_frontier/probes/probe_asym_reliability.py | 2 +- org_frontier/probes/probe_asymmetry.py | 2 +- org_frontier/probes/probe_async.py | 2 +- org_frontier/probes/probe_attractor_condition.py | 2 +- org_frontier/probes/probe_broadcast.py | 2 +- org_frontier/probes/probe_ces_predicate.py | 2 +- org_frontier/probes/probe_ces_predictor.py | 2 +- org_frontier/probes/probe_ces_richness.py | 2 +- org_frontier/probes/probe_chain_theorem.py | 2 +- org_frontier/probes/probe_cheap_search.py | 2 +- org_frontier/probes/probe_cmc.py | 2 +- org_frontier/probes/probe_coalition.py | 2 +- org_frontier/probes/probe_coalition_size.py | 2 +- org_frontier/probes/probe_coalition_sweep.py | 2 +- org_frontier/probes/probe_competition.py | 2 +- org_frontier/probes/probe_compression.py | 2 +- org_frontier/probes/probe_conjunctive_law.py | 2 +- org_frontier/probes/probe_consilience.py | 2 +- org_frontier/probes/probe_contestability.py | 2 +- org_frontier/probes/probe_control.py | 2 +- org_frontier/probes/probe_control_structures.py | 2 +- org_frontier/probes/probe_coupling_transfer.py | 2 +- org_frontier/probes/probe_criticality.py | 2 +- org_frontier/probes/probe_cycle.py | 2 +- org_frontier/probes/probe_dashboard.py | 2 +- org_frontier/probes/probe_difficulty.py | 2 +- org_frontier/probes/probe_dimension_composition.py | 2 +- org_frontier/probes/probe_discriminant.py | 2 +- org_frontier/probes/probe_discriminant_map.py | 2 +- org_frontier/probes/probe_distributed_mediators.py | 2 +- org_frontier/probes/probe_dynamics_ablation.py | 2 +- org_frontier/probes/probe_ei_family.py | 2 +- org_frontier/probes/probe_ejection_order.py | 2 +- org_frontier/probes/probe_emergence.py | 2 +- org_frontier/probes/probe_exit.py | 2 +- org_frontier/probes/probe_extremes.py | 2 +- org_frontier/probes/probe_fairness.py | 2 +- org_frontier/probes/probe_family_validation.py | 2 +- org_frontier/probes/probe_graded_contestability.py | 2 +- org_frontier/probes/probe_grain_threshold.py | 2 +- org_frontier/probes/probe_group_size.py | 2 +- org_frontier/probes/probe_group_surplus.py | 2 +- org_frontier/probes/probe_group_vs_members.py | 2 +- org_frontier/probes/probe_holistic_core.py | 2 +- org_frontier/probes/probe_hybrid_predicate.py | 2 +- org_frontier/probes/probe_hysteresis.py | 2 +- org_frontier/probes/probe_individuation.py | 2 +- org_frontier/probes/probe_inference.py | 2 +- org_frontier/probes/probe_inference_sweep.py | 2 +- org_frontier/probes/probe_info_asymmetry.py | 2 +- org_frontier/probes/probe_interaction.py | 2 +- org_frontier/probes/probe_intermediate_hub.py | 2 +- org_frontier/probes/probe_invariant_feature.py | 2 +- org_frontier/probes/probe_invariant_verdict.py | 2 +- org_frontier/probes/probe_joint.py | 2 +- org_frontier/probes/probe_joint_influence.py | 2 +- org_frontier/probes/probe_joint_influence_v2.py | 2 +- org_frontier/probes/probe_lean_n6.py | 2 +- org_frontier/probes/probe_learned_surrogate.py | 2 +- org_frontier/probes/probe_learning.py | 2 +- org_frontier/probes/probe_lifted_regime.py | 2 +- org_frontier/probes/probe_magnitude.py | 2 +- org_frontier/probes/probe_market.py | 2 +- org_frontier/probes/probe_mas.py | 2 +- org_frontier/probes/probe_memory.py | 2 +- org_frontier/probes/probe_min_triad_n4.py | 2 +- org_frontier/probes/probe_min_triad_n56.py | 2 +- org_frontier/probes/probe_minimal_features.py | 2 +- org_frontier/probes/probe_mip.py | 2 +- org_frontier/probes/probe_mip_population.py | 2 +- org_frontier/probes/probe_mixed_topology_surrogate.py | 2 +- org_frontier/probes/probe_model_fidelity.py | 2 +- org_frontier/probes/probe_multihub_law.py | 2 +- org_frontier/probes/probe_multirole.py | 2 +- org_frontier/probes/probe_n4_census.py | 2 +- org_frontier/probes/probe_noncollapse.py | 2 +- org_frontier/probes/probe_nonseparability.py | 2 +- org_frontier/probes/probe_ns_theorem.py | 2 +- org_frontier/probes/probe_o_information.py | 2 +- org_frontier/probes/probe_ood_surrogate.py | 2 +- org_frontier/probes/probe_opacity.py | 2 +- org_frontier/probes/probe_parity_characterization.py | 2 +- org_frontier/probes/probe_parity_detector.py | 2 +- org_frontier/probes/probe_parity_dissolution.py | 2 +- org_frontier/probes/probe_parity_multiparty.py | 2 +- org_frontier/probes/probe_parity_scaling.py | 2 +- org_frontier/probes/probe_party_peer_coupling.py | 2 +- org_frontier/probes/probe_phi_ar.py | 2 +- org_frontier/probes/probe_phi_ar_failure.py | 2 +- org_frontier/probes/probe_phi_free_test.py | 2 +- org_frontier/probes/probe_phi_performance.py | 2 +- org_frontier/probes/probe_phi_vs_mi_te.py | 2 +- org_frontier/probes/probe_phiid_length.py | 2 +- org_frontier/probes/probe_phiid_social.py | 2 +- org_frontier/probes/probe_phiid_sweep.py | 2 +- org_frontier/probes/probe_pivotality.py | 2 +- org_frontier/probes/probe_power.py | 2 +- org_frontier/probes/probe_principal_regime.py | 2 +- org_frontier/probes/probe_pure_higher_order.py | 2 +- org_frontier/probes/probe_redundant.py | 2 +- org_frontier/probes/probe_regime.py | 2 +- org_frontier/probes/probe_regulator.py | 2 +- org_frontier/probes/probe_regulator_coalition.py | 2 +- org_frontier/probes/probe_reliability.py | 2 +- org_frontier/probes/probe_residual_ceiling.py | 2 +- org_frontier/probes/probe_residual_characterization.py | 2 +- org_frontier/probes/probe_resilience.py | 2 +- org_frontier/probes/probe_richness.py | 2 +- org_frontier/probes/probe_robustness.py | 2 +- org_frontier/probes/probe_role_symmetry.py | 2 +- org_frontier/probes/probe_scale_n6.py | 2 +- org_frontier/probes/probe_scaling_zoo.py | 2 +- org_frontier/probes/probe_second_order_tom.py | 2 +- org_frontier/probes/probe_self_ref.py | 2 +- org_frontier/probes/probe_sensemaking.py | 2 +- org_frontier/probes/probe_shared_shock.py | 2 +- org_frontier/probes/probe_surrogate_transfer.py | 2 +- org_frontier/probes/probe_symmetric_multihub.py | 2 +- org_frontier/probes/probe_team_core.py | 2 +- org_frontier/probes/probe_team_core_rule.py | 2 +- org_frontier/probes/probe_temporal_grain.py | 2 +- org_frontier/probes/probe_threshold_scaling.py | 2 +- org_frontier/probes/probe_tom_agents.py | 2 +- org_frontier/probes/probe_topology_map.py | 2 +- org_frontier/probes/probe_transition_oinfo.py | 2 +- org_frontier/probes/probe_trees.py | 2 +- org_frontier/probes/probe_value_capture.py | 2 +- org_frontier/probes/probe_variance.py | 2 +- org_frontier/probes/probe_voting.py | 2 +- org_frontier/probes/probe_voting_robustness.py | 2 +- 135 files changed, 135 insertions(+), 135 deletions(-) diff --git a/org_frontier/probes/probe_abm_difficulty.py b/org_frontier/probes/probe_abm_difficulty.py index 93bef33f..8991402f 100644 --- a/org_frontier/probes/probe_abm_difficulty.py +++ b/org_frontier/probes/probe_abm_difficulty.py @@ -8,7 +8,7 @@ read its commit function S(W,C); run two independent epsilon-greedy Q-learning bandits whose reward is the commit value; record episodes-to-stable-success (difficulty); correlate difficulty with the verdict. -Run: ~/iit-playground/venv-4.0/bin/python -m org_frontier.probes.probe_abm_difficulty +Run: python -m org_frontier.probes.probe_abm_difficulty """ import os diff --git a/org_frontier/probes/probe_adaptive.py b/org_frontier/probes/probe_adaptive.py index 4670d657..b88872d9 100644 --- a/org_frontier/probes/probe_adaptive.py +++ b/org_frontier/probes/probe_adaptive.py @@ -8,7 +8,7 @@ Nodes: 0=W, 1=S, 2=C. S' = W ∧ (C perceived at reliability r_e); W'=S; C'=S. -Run: ~/iit-playground/venv-4.0/bin/python -m org_frontier.probes.probe_adaptive +Run: python -m org_frontier.probes.probe_adaptive """ import numpy as np diff --git a/org_frontier/probes/probe_adversarial.py b/org_frontier/probes/probe_adversarial.py index 7238cd46..41549a35 100644 --- a/org_frontier/probes/probe_adversarial.py +++ b/org_frontier/probes/probe_adversarial.py @@ -9,7 +9,7 @@ Nodes: 0=W, 1=S, 2=C. -Run: ~/iit-playground/venv-4.0/bin/python -m org_frontier.probes.probe_adversarial +Run: python -m org_frontier.probes.probe_adversarial """ from .lib import verdict, major_complex diff --git a/org_frontier/probes/probe_aimc.py b/org_frontier/probes/probe_aimc.py index 6bf1bfab..7cb97c26 100644 --- a/org_frontier/probes/probe_aimc.py +++ b/org_frontier/probes/probe_aimc.py @@ -10,7 +10,7 @@ Nodes: 0=W, 1=A (AI assist), 2=C. -Run: ~/iit-playground/venv-4.0/bin/python -m org_frontier.probes.probe_aimc +Run: python -m org_frontier.probes.probe_aimc """ from .lib import verdict, major_complex diff --git a/org_frontier/probes/probe_aimc_boundary.py b/org_frontier/probes/probe_aimc_boundary.py index 3175d247..abfae42b 100644 --- a/org_frontier/probes/probe_aimc_boundary.py +++ b/org_frontier/probes/probe_aimc_boundary.py @@ -7,7 +7,7 @@ triadic. Method: classify the 3-element loop (A as a separate party), then build the effective two-party system with A absorbed into the worker (sequential within-step composition) and classify that. -Run: ~/iit-playground/venv-4.0/bin/python -m org_frontier.probes.probe_aimc_boundary +Run: python -m org_frontier.probes.probe_aimc_boundary """ from org_frontier.classifier.classifier import classify_rules diff --git a/org_frontier/probes/probe_asym_reliability.py b/org_frontier/probes/probe_asym_reliability.py index 91373cf8..cb4ca373 100644 --- a/org_frontier/probes/probe_asym_reliability.py +++ b/org_frontier/probes/probe_asym_reliability.py @@ -9,7 +9,7 @@ Nodes: 0=W, 1=S, 2=C. S' = W ∧ (C perceived at reliability r_c); W'=S; C'=S. -Run: ~/iit-playground/venv-4.0/bin/python -m org_frontier.probes.probe_asym_reliability +Run: python -m org_frontier.probes.probe_asym_reliability """ import csv diff --git a/org_frontier/probes/probe_asymmetry.py b/org_frontier/probes/probe_asymmetry.py index a75b07ed..358f0903 100644 --- a/org_frontier/probes/probe_asymmetry.py +++ b/org_frontier/probes/probe_asymmetry.py @@ -9,7 +9,7 @@ Nodes: 0=W, 1=S, 2=C. S' = W AND C throughout; only the parties' feedback varies. -Run: ~/iit-playground/venv-4.0/bin/python -m org_frontier.probes.probe_asymmetry +Run: python -m org_frontier.probes.probe_asymmetry """ from .lib import verdict, major_complex diff --git a/org_frontier/probes/probe_async.py b/org_frontier/probes/probe_async.py index 704908eb..4ae94b1d 100644 --- a/org_frontier/probes/probe_async.py +++ b/org_frontier/probes/probe_async.py @@ -6,7 +6,7 @@ (apply each node's rule in a fixed order within a step, each seeing the latest values) for a few orders, classify, and compare with the simultaneous verdict. -Run: ~/iit-playground/venv-4.0/bin/python -m org_frontier.probes.probe_async +Run: python -m org_frontier.probes.probe_async """ import itertools diff --git a/org_frontier/probes/probe_attractor_condition.py b/org_frontier/probes/probe_attractor_condition.py index df3ac88c..17ec58cd 100644 --- a/org_frontier/probes/probe_attractor_condition.py +++ b/org_frontier/probes/probe_attractor_condition.py @@ -10,7 +10,7 @@ Reads: org_frontier/probes/results/residual_panel.csv (run Probe 125 first). -Run: ~/iit-playground/venv-4.0/bin/python -m org_frontier.probes.probe_attractor_condition +Run: python -m org_frontier.probes.probe_attractor_condition """ import csv diff --git a/org_frontier/probes/probe_broadcast.py b/org_frontier/probes/probe_broadcast.py index 86aa463f..222c2962 100644 --- a/org_frontier/probes/probe_broadcast.py +++ b/org_frontier/probes/probe_broadcast.py @@ -9,7 +9,7 @@ Nodes: 0=W, 1=S, 2=C1, 3=C2. -Run: ~/iit-playground/venv-4.0/bin/python -m org_frontier.probes.probe_broadcast +Run: python -m org_frontier.probes.probe_broadcast """ from .lib import verdict, major_complex diff --git a/org_frontier/probes/probe_ces_predicate.py b/org_frontier/probes/probe_ces_predicate.py index cd0536bf..8658ced0 100644 --- a/org_frontier/probes/probe_ces_predicate.py +++ b/org_frontier/probes/probe_ces_predicate.py @@ -7,7 +7,7 @@ for each candidate predicate (n_relations ≥ k, n_distinctions ≥ k, frac_higher_order > 0, max_order ≥ 2), count errors against the exact verdict; report any zero-error predicate. -Run: ~/iit-playground/venv-4.0/bin/python -m org_frontier.probes.probe_ces_predicate +Run: python -m org_frontier.probes.probe_ces_predicate """ import os diff --git a/org_frontier/probes/probe_ces_predictor.py b/org_frontier/probes/probe_ces_predictor.py index c46e3140..c48e83df 100644 --- a/org_frontier/probes/probe_ces_predictor.py +++ b/org_frontier/probes/probe_ces_predictor.py @@ -7,7 +7,7 @@ over the 256-form corpus, compute the Φ-structure suite on a reachable state of each form, and report the rank-AUC of each CES count against the exact verdict, plus a combined logistic model. -Run: ~/iit-playground/venv-4.0/bin/python -m org_frontier.probes.probe_ces_predictor +Run: python -m org_frontier.probes.probe_ces_predictor """ import os diff --git a/org_frontier/probes/probe_ces_richness.py b/org_frontier/probes/probe_ces_richness.py index c8d1ed07..58d6598f 100644 --- a/org_frontier/probes/probe_ces_richness.py +++ b/org_frontier/probes/probe_ces_richness.py @@ -7,7 +7,7 @@ H36: triadic forms carry more distinctions and (especially) more relations than dyadic forms — the irreducible coordination is structurally richer, not just higher-Φ. -Run: ~/iit-playground/venv-4.0/bin/python -m org_frontier.probes.probe_ces_richness +Run: python -m org_frontier.probes.probe_ces_richness """ from org_frontier.classifier.classifier import classify_rules, tpm_from_rules, cm_from_rules diff --git a/org_frontier/probes/probe_chain_theorem.py b/org_frontier/probes/probe_chain_theorem.py index bcc4866f..fae317c5 100644 --- a/org_frontier/probes/probe_chain_theorem.py +++ b/org_frontier/probes/probe_chain_theorem.py @@ -6,7 +6,7 @@ compute exact Φ and the MIP for chains of depth k = 1..K via `multiparty.chains.chain_rules`, and read off the cut at each depth. -Run: ~/iit-playground/venv-4.0/bin/python -m org_frontier.probes.probe_chain_theorem [K] +Run: python -m org_frontier.probes.probe_chain_theorem [K] """ import sys diff --git a/org_frontier/probes/probe_cheap_search.py b/org_frontier/probes/probe_cheap_search.py index 80472b4f..d57b5f8c 100644 --- a/org_frontier/probes/probe_cheap_search.py +++ b/org_frontier/probes/probe_cheap_search.py @@ -8,7 +8,7 @@ Reads: org_frontier/probes/results/consilience_panel.csv (run Probe 89 first). -Run: ~/iit-playground/venv-4.0/bin/python -m org_frontier.probes.probe_cheap_search +Run: python -m org_frontier.probes.probe_cheap_search """ import csv diff --git a/org_frontier/probes/probe_cmc.py b/org_frontier/probes/probe_cmc.py index a04417c1..8d2dee86 100644 --- a/org_frontier/probes/probe_cmc.py +++ b/org_frontier/probes/probe_cmc.py @@ -9,7 +9,7 @@ Nodes: 0=W, 1=S, 2=C. -Run: ~/iit-playground/venv-4.0/bin/python -m org_frontier.probes.probe_cmc +Run: python -m org_frontier.probes.probe_cmc """ from .lib import verdict, major_complex diff --git a/org_frontier/probes/probe_coalition.py b/org_frontier/probes/probe_coalition.py index e3b9a40d..39a1b569 100644 --- a/org_frontier/probes/probe_coalition.py +++ b/org_frontier/probes/probe_coalition.py @@ -9,7 +9,7 @@ Nodes: 0=W, 1=S, 2=C1, 3=C2. -Run: ~/iit-playground/venv-4.0/bin/python -m org_frontier.probes.probe_coalition +Run: python -m org_frontier.probes.probe_coalition """ from .lib import verdict, major_complex diff --git a/org_frontier/probes/probe_coalition_size.py b/org_frontier/probes/probe_coalition_size.py index 17ada2de..4cb2529e 100644 --- a/org_frontier/probes/probe_coalition_size.py +++ b/org_frontier/probes/probe_coalition_size.py @@ -6,7 +6,7 @@ counterparts) with an active gating+monitoring principal, for k=2 (n=5) and k=3 (n=6), and read the major complex. -Run: ~/iit-playground/venv-4.0/bin/python -m org_frontier.probes.probe_coalition_size +Run: python -m org_frontier.probes.probe_coalition_size """ from .lib import verdict, major_complex diff --git a/org_frontier/probes/probe_coalition_sweep.py b/org_frontier/probes/probe_coalition_sweep.py index 484b3ce4..ae6b0b30 100644 --- a/org_frontier/probes/probe_coalition_sweep.py +++ b/org_frontier/probes/probe_coalition_sweep.py @@ -9,7 +9,7 @@ Nodes: 0=W, 1=S, 2=C1, 3=C2. -Run: ~/iit-playground/venv-4.0/bin/python -m org_frontier.probes.probe_coalition_sweep +Run: python -m org_frontier.probes.probe_coalition_sweep """ import csv diff --git a/org_frontier/probes/probe_competition.py b/org_frontier/probes/probe_competition.py index 8919c8e0..6a0a89cb 100644 --- a/org_frontier/probes/probe_competition.py +++ b/org_frontier/probes/probe_competition.py @@ -10,7 +10,7 @@ Nodes: 0=W1, 1=S, 2=C, 3=W2. -Run: ~/iit-playground/venv-4.0/bin/python -m org_frontier.probes.probe_competition +Run: python -m org_frontier.probes.probe_competition """ from .lib import verdict, major_complex diff --git a/org_frontier/probes/probe_compression.py b/org_frontier/probes/probe_compression.py index 6ecbd751..f6913b08 100644 --- a/org_frontier/probes/probe_compression.py +++ b/org_frontier/probes/probe_compression.py @@ -9,7 +9,7 @@ Nodes: 0=W1, 1=W2, 2=S, 3=C. Both intent bits and C track the determination S; only S' varies. -Run: ~/iit-playground/venv-4.0/bin/python -m org_frontier.probes.probe_compression +Run: python -m org_frontier.probes.probe_compression """ from .lib import verdict, major_complex diff --git a/org_frontier/probes/probe_conjunctive_law.py b/org_frontier/probes/probe_conjunctive_law.py index 923e5833..f28d60be 100644 --- a/org_frontier/probes/probe_conjunctive_law.py +++ b/org_frontier/probes/probe_conjunctive_law.py @@ -6,7 +6,7 @@ shows (#7, #10). Method: build the AND-all hub at n=4..7 and the OR-all hub at n=4..6; read Φ and the core. (n=8 exact SIA does not finish in reasonable time, so the law is verified across n=4..7.) -Run: ~/iit-playground/venv-4.0/bin/python -m org_frontier.probes.probe_conjunctive_law +Run: python -m org_frontier.probes.probe_conjunctive_law """ import os diff --git a/org_frontier/probes/probe_consilience.py b/org_frontier/probes/probe_consilience.py index d831d987..bf1c86ba 100644 --- a/org_frontier/probes/probe_consilience.py +++ b/org_frontier/probes/probe_consilience.py @@ -10,7 +10,7 @@ Writes: org_frontier/probes/results/consilience_panel.csv (read by Probes 90, 91). -Run: ~/iit-playground/venv-4.0/bin/python -m org_frontier.probes.probe_consilience +Run: python -m org_frontier.probes.probe_consilience """ import csv diff --git a/org_frontier/probes/probe_contestability.py b/org_frontier/probes/probe_contestability.py index 37619af3..dfd873d5 100644 --- a/org_frontier/probes/probe_contestability.py +++ b/org_frontier/probes/probe_contestability.py @@ -11,7 +11,7 @@ Nodes: 0=W, 1=S, 2=C. S' = W ∧ C; C' = S throughout. Only the worker's binding to S varies. -Run: ~/iit-playground/venv-4.0/bin/python -m org_frontier.probes.probe_contestability +Run: python -m org_frontier.probes.probe_contestability """ from .lib import verdict, major_complex diff --git a/org_frontier/probes/probe_control.py b/org_frontier/probes/probe_control.py index 6a1ec5fa..306db57f 100644 --- a/org_frontier/probes/probe_control.py +++ b/org_frontier/probes/probe_control.py @@ -10,7 +10,7 @@ Nodes: 0=W, 1=S, 2=C. W and C track S. -Run: ~/iit-playground/venv-4.0/bin/python -m org_frontier.probes.probe_control +Run: python -m org_frontier.probes.probe_control """ from .lib import verdict, major_complex diff --git a/org_frontier/probes/probe_control_structures.py b/org_frontier/probes/probe_control_structures.py index 96754600..787d9ce1 100644 --- a/org_frontier/probes/probe_control_structures.py +++ b/org_frontier/probes/probe_control_structures.py @@ -8,7 +8,7 @@ practice. Method: model named two-actor control structures as a commit S(W, C); classify each commit's type, verdict, and Φ. -Run: ~/iit-playground/venv-4.0/bin/python -m org_frontier.probes.probe_control_structures +Run: python -m org_frontier.probes.probe_control_structures """ import os diff --git a/org_frontier/probes/probe_coupling_transfer.py b/org_frontier/probes/probe_coupling_transfer.py index 895dd8d0..64bbc203 100644 --- a/org_frontier/probes/probe_coupling_transfer.py +++ b/org_frontier/probes/probe_coupling_transfer.py @@ -7,7 +7,7 @@ n=3, n=4, n=5 (reusing #99's pipeline), then evaluate mean-pairwise-MI alone — its rank-AUC in-sample at n=3 and transferred to n=4 and n=5. -Run: ~/iit-playground/venv-4.0/bin/python -m org_frontier.probes.probe_coupling_transfer +Run: python -m org_frontier.probes.probe_coupling_transfer """ import os diff --git a/org_frontier/probes/probe_criticality.py b/org_frontier/probes/probe_criticality.py index 78ae8810..a7325adf 100644 --- a/org_frontier/probes/probe_criticality.py +++ b/org_frontier/probes/probe_criticality.py @@ -7,7 +7,7 @@ phase parameter p (P(track correct) = p, so p=1 in-phase, p=0.5 random, p=0 anti-phase). Sweep p and read exact Φ, looking for an interior maximum. -Run: ~/iit-playground/venv-4.0/bin/python -m org_frontier.probes.probe_criticality +Run: python -m org_frontier.probes.probe_criticality """ import numpy as np diff --git a/org_frontier/probes/probe_cycle.py b/org_frontier/probes/probe_cycle.py index 01eeffd6..14f69cc4 100644 --- a/org_frontier/probes/probe_cycle.py +++ b/org_frontier/probes/probe_cycle.py @@ -9,7 +9,7 @@ Nodes: 0=W, 1=S, 2=C. -Run: ~/iit-playground/venv-4.0/bin/python -m org_frontier.probes.probe_cycle +Run: python -m org_frontier.probes.probe_cycle """ from .lib import verdict, major_complex diff --git a/org_frontier/probes/probe_dashboard.py b/org_frontier/probes/probe_dashboard.py index f4fe4e7f..39a0041c 100644 --- a/org_frontier/probes/probe_dashboard.py +++ b/org_frontier/probes/probe_dashboard.py @@ -11,7 +11,7 @@ Nodes: 0=W, 1=Sv (visible), 2=Sc (committing), 3=C. -Run: ~/iit-playground/venv-4.0/bin/python -m org_frontier.probes.probe_dashboard +Run: python -m org_frontier.probes.probe_dashboard """ from .lib import verdict, major_complex diff --git a/org_frontier/probes/probe_difficulty.py b/org_frontier/probes/probe_difficulty.py index 17d6ace1..5cf88346 100644 --- a/org_frontier/probes/probe_difficulty.py +++ b/org_frontier/probes/probe_difficulty.py @@ -14,7 +14,7 @@ both Φ and the proxy derive from the determination, so agreement is structural consistency, not independent validation — reported honestly, as Paper 3 frames its own behavioral check. -Run: ~/iit-playground/venv-4.0/bin/python -m org_frontier.probes.probe_difficulty +Run: python -m org_frontier.probes.probe_difficulty """ import csv diff --git a/org_frontier/probes/probe_dimension_composition.py b/org_frontier/probes/probe_dimension_composition.py index 843ed9f7..607607a2 100644 --- a/org_frontier/probes/probe_dimension_composition.py +++ b/org_frontier/probes/probe_dimension_composition.py @@ -13,7 +13,7 @@ Nodes: 0=W, 1=S, 2=C. -Run: ~/iit-playground/venv-4.0/bin/python -m org_frontier.probes.probe_dimension_composition +Run: python -m org_frontier.probes.probe_dimension_composition """ from .lib import verdict, major_complex diff --git a/org_frontier/probes/probe_discriminant.py b/org_frontier/probes/probe_discriminant.py index 15a6294c..d7142ec0 100644 --- a/org_frontier/probes/probe_discriminant.py +++ b/org_frontier/probes/probe_discriminant.py @@ -10,7 +10,7 @@ Nodes: 0=W, 1=S, 2=C. -Run: ~/iit-playground/venv-4.0/bin/python -m org_frontier.probes.probe_discriminant +Run: python -m org_frontier.probes.probe_discriminant """ from .lib import verdict, major_complex diff --git a/org_frontier/probes/probe_discriminant_map.py b/org_frontier/probes/probe_discriminant_map.py index d5651c51..086605ca 100644 --- a/org_frontier/probes/probe_discriminant_map.py +++ b/org_frontier/probes/probe_discriminant_map.py @@ -11,7 +11,7 @@ Nodes vary per form; labels given per entry. -Run: ~/iit-playground/venv-4.0/bin/python -m org_frontier.probes.probe_discriminant_map +Run: python -m org_frontier.probes.probe_discriminant_map """ from .lib import verdict diff --git a/org_frontier/probes/probe_distributed_mediators.py b/org_frontier/probes/probe_distributed_mediators.py index 6ec9da77..685500c5 100644 --- a/org_frontier/probes/probe_distributed_mediators.py +++ b/org_frontier/probes/probe_distributed_mediators.py @@ -7,7 +7,7 @@ reading all parties, parties reading it) and a two-hub form (two mediators each gating their own group and reading each other) at n=6 and n=7; compare the verdict, Φ, and core size. -Run: ~/iit-playground/venv-4.0/bin/python -m org_frontier.probes.probe_distributed_mediators +Run: python -m org_frontier.probes.probe_distributed_mediators """ import os diff --git a/org_frontier/probes/probe_dynamics_ablation.py b/org_frontier/probes/probe_dynamics_ablation.py index b9e5a2e3..e16cfa5e 100644 --- a/org_frontier/probes/probe_dynamics_ablation.py +++ b/org_frontier/probes/probe_dynamics_ablation.py @@ -8,7 +8,7 @@ Reads: org_frontier/probes/results/residual_panel.csv (run Probe 125 first). -Run: ~/iit-playground/venv-4.0/bin/python -m org_frontier.probes.probe_dynamics_ablation +Run: python -m org_frontier.probes.probe_dynamics_ablation """ import csv diff --git a/org_frontier/probes/probe_ei_family.py b/org_frontier/probes/probe_ei_family.py index a7bd4c58..2dee0629 100644 --- a/org_frontier/probes/probe_ei_family.py +++ b/org_frontier/probes/probe_ei_family.py @@ -8,7 +8,7 @@ Reads: org_frontier/probes/results/consilience_panel.csv (run Probe 89 first). -Run: ~/iit-playground/venv-4.0/bin/python -m org_frontier.probes.probe_ei_family +Run: python -m org_frontier.probes.probe_ei_family """ import csv diff --git a/org_frontier/probes/probe_ejection_order.py b/org_frontier/probes/probe_ejection_order.py index e89af647..7c0b50ae 100644 --- a/org_frontier/probes/probe_ejection_order.py +++ b/org_frontier/probes/probe_ejection_order.py @@ -9,7 +9,7 @@ Nodes: 0=W, 1=S, 2=C, 3=P. -Run: ~/iit-playground/venv-4.0/bin/python -m org_frontier.probes.probe_ejection_order +Run: python -m org_frontier.probes.probe_ejection_order """ import os diff --git a/org_frontier/probes/probe_emergence.py b/org_frontier/probes/probe_emergence.py index 76329793..7d773bec 100644 --- a/org_frontier/probes/probe_emergence.py +++ b/org_frontier/probes/probe_emergence.py @@ -9,7 +9,7 @@ H49: triadic forms have higher effective information than dyadic; causal emergence is ~orthogonal to the verdict (triadic forms do not systematically emerge), echoing emergence_vs_phi. -Run: ~/iit-playground/venv-4.0/bin/python -m org_frontier.probes.probe_emergence +Run: python -m org_frontier.probes.probe_emergence """ from pyphi import convert diff --git a/org_frontier/probes/probe_exit.py b/org_frontier/probes/probe_exit.py index ef90eaaa..95c7f906 100644 --- a/org_frontier/probes/probe_exit.py +++ b/org_frontier/probes/probe_exit.py @@ -9,7 +9,7 @@ Nodes: 0=W, 1=S, 2=C. Compare a counterpart that always re-engages with one that can exit. -Run: ~/iit-playground/venv-4.0/bin/python -m org_frontier.probes.probe_exit +Run: python -m org_frontier.probes.probe_exit """ from .lib import verdict, major_complex diff --git a/org_frontier/probes/probe_extremes.py b/org_frontier/probes/probe_extremes.py index 1045e83e..6020f054 100644 --- a/org_frontier/probes/probe_extremes.py +++ b/org_frontier/probes/probe_extremes.py @@ -7,7 +7,7 @@ H30: the minimal triad has exactly the edges of a joint determination read back by both parties (no slack); the maximal-Φ forms cluster on a specific determination type. -Run: ~/iit-playground/venv-4.0/bin/python -m org_frontier.probes.probe_extremes +Run: python -m org_frontier.probes.probe_extremes """ from org_frontier.classifier.classifier import classify_rules, cm_from_rules diff --git a/org_frontier/probes/probe_fairness.py b/org_frontier/probes/probe_fairness.py index e96a45e3..27fc927b 100644 --- a/org_frontier/probes/probe_fairness.py +++ b/org_frontier/probes/probe_fairness.py @@ -9,7 +9,7 @@ Nodes: 0=W, 1=S, 2=C, 3=P. -Run: ~/iit-playground/venv-4.0/bin/python -m org_frontier.probes.probe_fairness +Run: python -m org_frontier.probes.probe_fairness """ from .lib import major_complex diff --git a/org_frontier/probes/probe_family_validation.py b/org_frontier/probes/probe_family_validation.py index 349c2225..4ea33246 100644 --- a/org_frontier/probes/probe_family_validation.py +++ b/org_frontier/probes/probe_family_validation.py @@ -13,7 +13,7 @@ Labels A,B,C for nodes 0,1,2. -Run: ~/iit-playground/venv-4.0/bin/python -m org_frontier.probes.probe_family_validation [N] [seed] +Run: python -m org_frontier.probes.probe_family_validation [N] [seed] """ import csv diff --git a/org_frontier/probes/probe_graded_contestability.py b/org_frontier/probes/probe_graded_contestability.py index ebd523c7..61111468 100644 --- a/org_frontier/probes/probe_graded_contestability.py +++ b/org_frontier/probes/probe_graded_contestability.py @@ -8,7 +8,7 @@ Nodes: 0=W, 1=S, 2=C. W' = S with prob (1−q), persists (=W) with prob q; S'=W∧C; C'=S. -Run: ~/iit-playground/venv-4.0/bin/python -m org_frontier.probes.probe_graded_contestability +Run: python -m org_frontier.probes.probe_graded_contestability """ import csv diff --git a/org_frontier/probes/probe_grain_threshold.py b/org_frontier/probes/probe_grain_threshold.py index 0c2ed5e1..31229c59 100644 --- a/org_frontier/probes/probe_grain_threshold.py +++ b/org_frontier/probes/probe_grain_threshold.py @@ -6,7 +6,7 @@ on the triadic corpus forms and find the first k at which the verdict flips, alongside the form's attractor period. -Run: ~/iit-playground/venv-4.0/bin/python -m org_frontier.probes.probe_grain_threshold +Run: python -m org_frontier.probes.probe_grain_threshold """ import numpy as np diff --git a/org_frontier/probes/probe_group_size.py b/org_frontier/probes/probe_group_size.py index 80237f10..4ede9917 100644 --- a/org_frontier/probes/probe_group_size.py +++ b/org_frontier/probes/probe_group_size.py @@ -13,7 +13,7 @@ size while the chance a random form is irreducible collapses by n=5. (Niizato's animal result is the exact-Φ precedent for a size-dependent transition; ours is on coordination forms.) -Run: ~/iit-playground/venv-4.0/bin/python -m org_frontier.probes.probe_group_size +Run: python -m org_frontier.probes.probe_group_size """ from .lib import verdict diff --git a/org_frontier/probes/probe_group_surplus.py b/org_frontier/probes/probe_group_surplus.py index 975e8cd6..6ee55fdd 100644 --- a/org_frontier/probes/probe_group_surplus.py +++ b/org_frontier/probes/probe_group_surplus.py @@ -5,7 +5,7 @@ growing surplus with n; the surplus is the whole Φ minus the best proper-subset Φ. Method: for the all-required pool at n=3,4,5, compute whole Φ and the best proper-subset Φ; report the surplus. -Run: ~/iit-playground/venv-4.0/bin/python -m org_frontier.probes.probe_group_surplus +Run: python -m org_frontier.probes.probe_group_surplus """ import itertools diff --git a/org_frontier/probes/probe_group_vs_members.py b/org_frontier/probes/probe_group_vs_members.py index acaed789..744bf144 100644 --- a/org_frontier/probes/probe_group_vs_members.py +++ b/org_frontier/probes/probe_group_vs_members.py @@ -10,7 +10,7 @@ Nodes: 0=W, 1=S, 2=C (and a 4-party pool). -Run: ~/iit-playground/venv-4.0/bin/python -m org_frontier.probes.probe_group_vs_members +Run: python -m org_frontier.probes.probe_group_vs_members """ import itertools diff --git a/org_frontier/probes/probe_holistic_core.py b/org_frontier/probes/probe_holistic_core.py index 3200d7c0..e4e56510 100644 --- a/org_frontier/probes/probe_holistic_core.py +++ b/org_frontier/probes/probe_holistic_core.py @@ -9,7 +9,7 @@ Reads: org_frontier/probes/results/residual_panel.csv (run Probe 125 first). -Run: ~/iit-playground/venv-4.0/bin/python -m org_frontier.probes.probe_holistic_core +Run: python -m org_frontier.probes.probe_holistic_core """ import csv diff --git a/org_frontier/probes/probe_hybrid_predicate.py b/org_frontier/probes/probe_hybrid_predicate.py index 62032234..49cf171a 100644 --- a/org_frontier/probes/probe_hybrid_predicate.py +++ b/org_frontier/probes/probe_hybrid_predicate.py @@ -7,7 +7,7 @@ forms, so the OR is zero-error. Method: over the corpus, compute the CES higher-order flag and MI[W;C] on a noisy trajectory; report the error of each part alone and of the disjunction over a threshold sweep. -Run: ~/iit-playground/venv-4.0/bin/python -m org_frontier.probes.probe_hybrid_predicate +Run: python -m org_frontier.probes.probe_hybrid_predicate """ import os diff --git a/org_frontier/probes/probe_hysteresis.py b/org_frontier/probes/probe_hysteresis.py index 82c08845..a1e54641 100644 --- a/org_frontier/probes/probe_hysteresis.py +++ b/org_frontier/probes/probe_hysteresis.py @@ -9,7 +9,7 @@ measure the system's mean activity at each d on each leg; report the area between the up and down curves for a sticky vs a memoryless mediator. -Run: ~/iit-playground/venv-4.0/bin/python -m org_frontier.probes.probe_hysteresis +Run: python -m org_frontier.probes.probe_hysteresis """ import numpy as np diff --git a/org_frontier/probes/probe_individuation.py b/org_frontier/probes/probe_individuation.py index 62f78a35..770ea6fb 100644 --- a/org_frontier/probes/probe_individuation.py +++ b/org_frontier/probes/probe_individuation.py @@ -6,7 +6,7 @@ Method: over the eight 3-node corpus forms, apply all 3! node permutations × 2^3 state-flips (48 isomorphisms each), classify, and count any verdict flip or Φ difference. -Run: ~/iit-playground/venv-4.0/bin/python -m org_frontier.probes.probe_individuation +Run: python -m org_frontier.probes.probe_individuation """ import itertools diff --git a/org_frontier/probes/probe_inference.py b/org_frontier/probes/probe_inference.py index cae5f8d8..4561f7d0 100644 --- a/org_frontier/probes/probe_inference.py +++ b/org_frontier/probes/probe_inference.py @@ -9,7 +9,7 @@ Nodes: 0=W, 1=S, 2=C, 3=M. -Run: ~/iit-playground/venv-4.0/bin/python -m org_frontier.probes.probe_inference +Run: python -m org_frontier.probes.probe_inference """ from .lib import verdict, major_complex diff --git a/org_frontier/probes/probe_inference_sweep.py b/org_frontier/probes/probe_inference_sweep.py index 0fc5748a..69862a3c 100644 --- a/org_frontier/probes/probe_inference_sweep.py +++ b/org_frontier/probes/probe_inference_sweep.py @@ -10,7 +10,7 @@ Nodes: 0=W, 1=S, 2=C, 3=M. -Run: ~/iit-playground/venv-4.0/bin/python -m org_frontier.probes.probe_inference_sweep +Run: python -m org_frontier.probes.probe_inference_sweep """ import csv diff --git a/org_frontier/probes/probe_info_asymmetry.py b/org_frontier/probes/probe_info_asymmetry.py index e1a1c89f..7e09d2af 100644 --- a/org_frontier/probes/probe_info_asymmetry.py +++ b/org_frontier/probes/probe_info_asymmetry.py @@ -8,7 +8,7 @@ Nodes: 0=W, 1=S, 2=C. Determination S' = (inputs S reads); parties track S, plus any direct channel. -Run: ~/iit-playground/venv-4.0/bin/python -m org_frontier.probes.probe_info_asymmetry +Run: python -m org_frontier.probes.probe_info_asymmetry """ from .lib import verdict diff --git a/org_frontier/probes/probe_interaction.py b/org_frontier/probes/probe_interaction.py index 4010d940..9141b9fc 100644 --- a/org_frontier/probes/probe_interaction.py +++ b/org_frontier/probes/probe_interaction.py @@ -9,7 +9,7 @@ Nodes: 0=W, 1=S, 2=C1, 3=C2, 4=P. -Run: ~/iit-playground/venv-4.0/bin/python -m org_frontier.probes.probe_interaction +Run: python -m org_frontier.probes.probe_interaction """ from .lib import verdict, major_complex diff --git a/org_frontier/probes/probe_intermediate_hub.py b/org_frontier/probes/probe_intermediate_hub.py index a2d5e836..a691bca7 100644 --- a/org_frontier/probes/probe_intermediate_hub.py +++ b/org_frontier/probes/probe_intermediate_hub.py @@ -6,7 +6,7 @@ where the core is not full (n=6, m=3 and m=4), read the major complex and label each in/out node as a hub or a party. -Run: ~/iit-playground/venv-4.0/bin/python -m org_frontier.probes.probe_intermediate_hub +Run: python -m org_frontier.probes.probe_intermediate_hub """ import os diff --git a/org_frontier/probes/probe_invariant_feature.py b/org_frontier/probes/probe_invariant_feature.py index 2d8fbb75..c366e63e 100644 --- a/org_frontier/probes/probe_invariant_feature.py +++ b/org_frontier/probes/probe_invariant_feature.py @@ -8,7 +8,7 @@ pairwise MI, total correlation per node, and O-information on noisy trajectories; report each feature's cross-topology AUC against the verdict and the pools' raw-MI value. -Run: ~/iit-playground/venv-4.0/bin/python -m org_frontier.probes.probe_invariant_feature +Run: python -m org_frontier.probes.probe_invariant_feature """ import os diff --git a/org_frontier/probes/probe_invariant_verdict.py b/org_frontier/probes/probe_invariant_verdict.py index de8a7472..1ded11de 100644 --- a/org_frontier/probes/probe_invariant_verdict.py +++ b/org_frontier/probes/probe_invariant_verdict.py @@ -8,7 +8,7 @@ verdict under grain-1 synchronous (canonical), grain-2 synchronous, and grain-1 sequential update; report how each condition calls them and what an across-condition majority would conclude. -Run: ~/iit-playground/venv-4.0/bin/python -m org_frontier.probes.probe_invariant_verdict +Run: python -m org_frontier.probes.probe_invariant_verdict """ import os diff --git a/org_frontier/probes/probe_joint.py b/org_frontier/probes/probe_joint.py index 9f8de833..050ced46 100644 --- a/org_frontier/probes/probe_joint.py +++ b/org_frontier/probes/probe_joint.py @@ -12,7 +12,7 @@ - split (n=4): S1 handles W, S2 handles C, no combination. W'=S1, C'=S2, S1'=W, S2'=C. - split_shared_output (n=4): S1, S2 each commit, a reader R = S1 ∧ S2 but parties read their own Si. -Run: ~/iit-playground/venv-4.0/bin/python -m org_frontier.probes.probe_joint +Run: python -m org_frontier.probes.probe_joint """ from .lib import verdict, major_complex diff --git a/org_frontier/probes/probe_joint_influence.py b/org_frontier/probes/probe_joint_influence.py index d406aa1c..6098da72 100644 --- a/org_frontier/probes/probe_joint_influence.py +++ b/org_frontier/probes/probe_joint_influence.py @@ -12,7 +12,7 @@ Same family sample as Probe 12 (seed 11, N=800) for a paired comparison. Nodes 0,1,2 = A,B,C. -Run: ~/iit-playground/venv-4.0/bin/python -m org_frontier.probes.probe_joint_influence [N] [seed] +Run: python -m org_frontier.probes.probe_joint_influence [N] [seed] """ import csv diff --git a/org_frontier/probes/probe_joint_influence_v2.py b/org_frontier/probes/probe_joint_influence_v2.py index a7559cf6..e41cee10 100644 --- a/org_frontier/probes/probe_joint_influence_v2.py +++ b/org_frontier/probes/probe_joint_influence_v2.py @@ -10,7 +10,7 @@ nodes, compare rank-AUC of marginal influence alone to the cross-validated AUC of a two-feature logistic model for in-core. -Run: ~/iit-playground/venv-4.0/bin/python -m org_frontier.probes.probe_joint_influence_v2 [N] [seed] +Run: python -m org_frontier.probes.probe_joint_influence_v2 [N] [seed] """ import sys diff --git a/org_frontier/probes/probe_lean_n6.py b/org_frontier/probes/probe_lean_n6.py index 3f1c9731..a0610a21 100644 --- a/org_frontier/probes/probe_lean_n6.py +++ b/org_frontier/probes/probe_lean_n6.py @@ -7,7 +7,7 @@ (S = AND of all five parties, each party reads S) and classify it directly; report the verdict, Φ, and core, with the n=4 and n=5 conjunctive forms for reference. -Run: ~/iit-playground/venv-4.0/bin/python -m org_frontier.probes.probe_lean_n6 +Run: python -m org_frontier.probes.probe_lean_n6 """ import os diff --git a/org_frontier/probes/probe_learned_surrogate.py b/org_frontier/probes/probe_learned_surrogate.py index c4ca1615..ebe82eff 100644 --- a/org_frontier/probes/probe_learned_surrogate.py +++ b/org_frontier/probes/probe_learned_surrogate.py @@ -8,7 +8,7 @@ label each by the exact verdict, and report 5-fold cross-validated accuracy and ROC-AUC for a random forest, against the majority-class baseline. -Run: ~/iit-playground/venv-4.0/bin/python -m org_frontier.probes.probe_learned_surrogate +Run: python -m org_frontier.probes.probe_learned_surrogate """ import os diff --git a/org_frontier/probes/probe_learning.py b/org_frontier/probes/probe_learning.py index f58a3b07..63b58393 100644 --- a/org_frontier/probes/probe_learning.py +++ b/org_frontier/probes/probe_learning.py @@ -6,7 +6,7 @@ functions; for each compute the success rate (mean attractor match-rate) and exact Φ. A learning loop visits increasing-success policies; report whether Φ tracks success along that ordering. -Run: ~/iit-playground/venv-4.0/bin/python -m org_frontier.probes.probe_learning +Run: python -m org_frontier.probes.probe_learning """ from org_frontier.classifier.classifier import classify_rules diff --git a/org_frontier/probes/probe_lifted_regime.py b/org_frontier/probes/probe_lifted_regime.py index 3127c4cf..4e860cdf 100644 --- a/org_frontier/probes/probe_lifted_regime.py +++ b/org_frontier/probes/probe_lifted_regime.py @@ -8,7 +8,7 @@ Nodes: 0=W, 1=S, 2=C, 3=R (regime that switches S' between W∧C and W∨C). -Run: ~/iit-playground/venv-4.0/bin/python -m org_frontier.probes.probe_lifted_regime +Run: python -m org_frontier.probes.probe_lifted_regime """ from .lib import verdict, major_complex diff --git a/org_frontier/probes/probe_magnitude.py b/org_frontier/probes/probe_magnitude.py index a3fc03ae..00960c8d 100644 --- a/org_frontier/probes/probe_magnitude.py +++ b/org_frontier/probes/probe_magnitude.py @@ -8,7 +8,7 @@ whether its rule is parity (XOR/XNOR), and the parties' feedback richness — even though it is not a coordination-readability scale. -Run: ~/iit-playground/venv-4.0/bin/python -m org_frontier.probes.probe_magnitude +Run: python -m org_frontier.probes.probe_magnitude """ import csv diff --git a/org_frontier/probes/probe_market.py b/org_frontier/probes/probe_market.py index 4e15bbb8..4fa26b0c 100644 --- a/org_frontier/probes/probe_market.py +++ b/org_frontier/probes/probe_market.py @@ -7,7 +7,7 @@ Nodes: 0=B (buyer), 1=S (clearinghouse), 2=Se (seller), and for the two-buyer case 3=B2. -Run: ~/iit-playground/venv-4.0/bin/python -m org_frontier.probes.probe_market +Run: python -m org_frontier.probes.probe_market """ from .lib import verdict, major_complex diff --git a/org_frontier/probes/probe_mas.py b/org_frontier/probes/probe_mas.py index 57d92116..bfc18458 100644 --- a/org_frontier/probes/probe_mas.py +++ b/org_frontier/probes/probe_mas.py @@ -10,7 +10,7 @@ Nodes: 0=A1, 1=P, 2=A2. -Run: ~/iit-playground/venv-4.0/bin/python -m org_frontier.probes.probe_mas +Run: python -m org_frontier.probes.probe_mas """ from .lib import verdict, major_complex diff --git a/org_frontier/probes/probe_memory.py b/org_frontier/probes/probe_memory.py index 80f660fb..a609248d 100644 --- a/org_frontier/probes/probe_memory.py +++ b/org_frontier/probes/probe_memory.py @@ -10,7 +10,7 @@ Nodes: 0=W, 1=S, 2=C, 3=M (the system's memory/score of the worker). -Run: ~/iit-playground/venv-4.0/bin/python -m org_frontier.probes.probe_memory +Run: python -m org_frontier.probes.probe_memory """ from .lib import verdict, major_complex diff --git a/org_frontier/probes/probe_min_triad_n4.py b/org_frontier/probes/probe_min_triad_n4.py index da6eb0d5..d01f3a60 100644 --- a/org_frontier/probes/probe_min_triad_n4.py +++ b/org_frontier/probes/probe_min_triad_n4.py @@ -7,7 +7,7 @@ H35: the n=4 minimal triad needs more edges than n=3's four — the joint determination must read all three outer parties and they must read back, so the floor rises. -Run: ~/iit-playground/venv-4.0/bin/python -m org_frontier.probes.probe_min_triad_n4 [N] [seed] +Run: python -m org_frontier.probes.probe_min_triad_n4 [N] [seed] """ import collections diff --git a/org_frontier/probes/probe_min_triad_n56.py b/org_frontier/probes/probe_min_triad_n56.py index 1e5e1b36..d075a4f9 100644 --- a/org_frontier/probes/probe_min_triad_n56.py +++ b/org_frontier/probes/probe_min_triad_n56.py @@ -6,7 +6,7 @@ Method: sample strict-mediation forms at n=5 and n=6, classify, and report the minimum edge count among triadic forms against the 2(n−1) floor. -Run: ~/iit-playground/venv-4.0/bin/python -m org_frontier.probes.probe_min_triad_n56 [N5] [N6] +Run: python -m org_frontier.probes.probe_min_triad_n56 [N5] [N6] """ import os diff --git a/org_frontier/probes/probe_minimal_features.py b/org_frontier/probes/probe_minimal_features.py index e96dc142..8691134d 100644 --- a/org_frontier/probes/probe_minimal_features.py +++ b/org_frontier/probes/probe_minimal_features.py @@ -5,7 +5,7 @@ Method: over the 256-form corpus, compute the same thirteen features; rank each by single-feature AUC, then greedily add features to a random forest until 5-fold CV-AUC reaches ≈ 1.0. -Run: ~/iit-playground/venv-4.0/bin/python -m org_frontier.probes.probe_minimal_features +Run: python -m org_frontier.probes.probe_minimal_features """ import os diff --git a/org_frontier/probes/probe_mip.py b/org_frontier/probes/probe_mip.py index c4113841..45b8041e 100644 --- a/org_frontier/probes/probe_mip.py +++ b/org_frontier/probes/probe_mip.py @@ -7,7 +7,7 @@ H26: the MIP isolates the least-pivotal / most-separable party — the cut tells you where the coordination is most fragile, not just whether it is irreducible. -Run: ~/iit-playground/venv-4.0/bin/python -m org_frontier.probes.probe_mip +Run: python -m org_frontier.probes.probe_mip """ from org_frontier.classifier.classifier import classify_rules diff --git a/org_frontier/probes/probe_mip_population.py b/org_frontier/probes/probe_mip_population.py index 13e96d80..f00a3406 100644 --- a/org_frontier/probes/probe_mip_population.py +++ b/org_frontier/probes/probe_mip_population.py @@ -7,7 +7,7 @@ H33: across the family the worker is the most-frequently-severed element — the triad's weak seam is systematically the worker, not just in the curated cases. -Run: ~/iit-playground/venv-4.0/bin/python -m org_frontier.probes.probe_mip_population +Run: python -m org_frontier.probes.probe_mip_population """ import collections diff --git a/org_frontier/probes/probe_mixed_topology_surrogate.py b/org_frontier/probes/probe_mixed_topology_surrogate.py index 75b0aa9a..ae16d657 100644 --- a/org_frontier/probes/probe_mixed_topology_surrogate.py +++ b/org_frontier/probes/probe_mixed_topology_surrogate.py @@ -7,7 +7,7 @@ only; strict-mediation plus random arbitrary wirings), score each against the same held-out archetype forms (single-hub, OR-hub, chain, pool, parity, majority, two-hub). -Run: ~/iit-playground/venv-4.0/bin/python -m org_frontier.probes.probe_mixed_topology_surrogate +Run: python -m org_frontier.probes.probe_mixed_topology_surrogate """ import os diff --git a/org_frontier/probes/probe_model_fidelity.py b/org_frontier/probes/probe_model_fidelity.py index 81e66f0c..6336e6f7 100644 --- a/org_frontier/probes/probe_model_fidelity.py +++ b/org_frontier/probes/probe_model_fidelity.py @@ -8,7 +8,7 @@ Nodes: 0=W, 1=S, 2=C, 3=M. -Run: ~/iit-playground/venv-4.0/bin/python -m org_frontier.probes.probe_model_fidelity +Run: python -m org_frontier.probes.probe_model_fidelity """ from .lib import verdict, major_complex diff --git a/org_frontier/probes/probe_multihub_law.py b/org_frontier/probes/probe_multihub_law.py index c0aebd0f..083b21bb 100644 --- a/org_frontier/probes/probe_multihub_law.py +++ b/org_frontier/probes/probe_multihub_law.py @@ -6,7 +6,7 @@ integration, up to the pool ceiling. Method: a symmetric m-hub at fixed n (m hubs each reading all parties and all other hubs; each party reading all hubs); sweep m from 1 to n−1 and read Φ and the core. -Run: ~/iit-playground/venv-4.0/bin/python -m org_frontier.probes.probe_multihub_law +Run: python -m org_frontier.probes.probe_multihub_law """ import os diff --git a/org_frontier/probes/probe_multirole.py b/org_frontier/probes/probe_multirole.py index 3e985197..0b802f0b 100644 --- a/org_frontier/probes/probe_multirole.py +++ b/org_frontier/probes/probe_multirole.py @@ -8,7 +8,7 @@ Nodes: 0=X, 1=S1, 2=C1, 3=S2, 4=W2. -Run: ~/iit-playground/venv-4.0/bin/python -m org_frontier.probes.probe_multirole +Run: python -m org_frontier.probes.probe_multirole """ from .lib import verdict, major_complex diff --git a/org_frontier/probes/probe_n4_census.py b/org_frontier/probes/probe_n4_census.py index 591b5783..7d40ed14 100644 --- a/org_frontier/probes/probe_n4_census.py +++ b/org_frontier/probes/probe_n4_census.py @@ -6,7 +6,7 @@ sample the n=4 strict-mediation family (S reads all parties, each party reads S), classify each with the exact verdict, and report the triadic rate and the edge-count distribution by group. -Run: ~/iit-playground/venv-4.0/bin/python -m org_frontier.probes.probe_n4_census [N] +Run: python -m org_frontier.probes.probe_n4_census [N] """ import os diff --git a/org_frontier/probes/probe_noncollapse.py b/org_frontier/probes/probe_noncollapse.py index c5e8ef4b..66a8b408 100644 --- a/org_frontier/probes/probe_noncollapse.py +++ b/org_frontier/probes/probe_noncollapse.py @@ -8,7 +8,7 @@ each node's next state is the majority of the others, add output noise so all states are reachable, and read exact IIT-4.0 max Φ for n=2..5. -Run: ~/iit-playground/venv-4.0/bin/python -m org_frontier.probes.probe_noncollapse +Run: python -m org_frontier.probes.probe_noncollapse """ import os diff --git a/org_frontier/probes/probe_nonseparability.py b/org_frontier/probes/probe_nonseparability.py index 2c65570e..869301d7 100644 --- a/org_frontier/probes/probe_nonseparability.py +++ b/org_frontier/probes/probe_nonseparability.py @@ -8,7 +8,7 @@ (edges, bidirectional-node count) and synergy features (the interaction term of each node's function, summarized); fit a decision tree and check whether the verdict is now separated perfectly. -Run: ~/iit-playground/venv-4.0/bin/python -m org_frontier.probes.probe_nonseparability +Run: python -m org_frontier.probes.probe_nonseparability """ import os diff --git a/org_frontier/probes/probe_ns_theorem.py b/org_frontier/probes/probe_ns_theorem.py index 9843bef4..e5fd3000 100644 --- a/org_frontier/probes/probe_ns_theorem.py +++ b/org_frontier/probes/probe_ns_theorem.py @@ -7,7 +7,7 @@ exact verdict, build structural features (edge count, number of bidirectional nodes, strong connectivity), and fit a shallow decision tree; if it separates the verdict perfectly, the tree is the N&S condition. -Run: ~/iit-playground/venv-4.0/bin/python -m org_frontier.probes.probe_ns_theorem +Run: python -m org_frontier.probes.probe_ns_theorem """ import os diff --git a/org_frontier/probes/probe_o_information.py b/org_frontier/probes/probe_o_information.py index 3ad1c61a..0738097a 100644 --- a/org_frontier/probes/probe_o_information.py +++ b/org_frontier/probes/probe_o_information.py @@ -8,7 +8,7 @@ H46: triadic forms have negative O-information (synergy); dyadic forms have non-negative O-info (redundancy or independence). This would tie the exact-Φ verdict to a cheap, scalable measure. -Run: ~/iit-playground/venv-4.0/bin/python -m org_frontier.probes.probe_o_information +Run: python -m org_frontier.probes.probe_o_information """ import numpy as np diff --git a/org_frontier/probes/probe_ood_surrogate.py b/org_frontier/probes/probe_ood_surrogate.py index dc5fe0b2..def0f8cc 100644 --- a/org_frontier/probes/probe_ood_surrogate.py +++ b/org_frontier/probes/probe_ood_surrogate.py @@ -6,7 +6,7 @@ learned is topology-independent. Method: train the eight-feature random forest on the n=3 corpus; build labelled forms from the new families at n=4..6; score the trained surrogate against the exact verdict. -Run: ~/iit-playground/venv-4.0/bin/python -m org_frontier.probes.probe_ood_surrogate +Run: python -m org_frontier.probes.probe_ood_surrogate """ import os diff --git a/org_frontier/probes/probe_opacity.py b/org_frontier/probes/probe_opacity.py index 8066ca42..0eda629c 100644 --- a/org_frontier/probes/probe_opacity.py +++ b/org_frontier/probes/probe_opacity.py @@ -10,7 +10,7 @@ Nodes: 0=W, 1=S, 2=C. W' blends S (opaque) and C (transparent); S'=W∧C; C'=S. -Run: ~/iit-playground/venv-4.0/bin/python -m org_frontier.probes.probe_opacity +Run: python -m org_frontier.probes.probe_opacity """ import csv diff --git a/org_frontier/probes/probe_parity_characterization.py b/org_frontier/probes/probe_parity_characterization.py index 21e06b62..2f625525 100644 --- a/org_frontier/probes/probe_parity_characterization.py +++ b/org_frontier/probes/probe_parity_characterization.py @@ -7,7 +7,7 @@ corpus forms, recover each commit's truth table, label it conjunctive (monotone) vs parity (XOR/XNOR), and cross-tab with the exact Φ (2.0 vs 0.5). -Run: ~/iit-playground/venv-4.0/bin/python -m org_frontier.probes.probe_parity_characterization +Run: python -m org_frontier.probes.probe_parity_characterization """ import os diff --git a/org_frontier/probes/probe_parity_detector.py b/org_frontier/probes/probe_parity_detector.py index a1f54edd..273fdbce 100644 --- a/org_frontier/probes/probe_parity_detector.py +++ b/org_frontier/probes/probe_parity_detector.py @@ -8,7 +8,7 @@ hard contrast (parity-triadic vs dyadic) and on the easy one (conjunctive-triadic vs dyadic); the feature with high AUC on the hard contrast is the parity detector. -Run: ~/iit-playground/venv-4.0/bin/python -m org_frontier.probes.probe_parity_detector +Run: python -m org_frontier.probes.probe_parity_detector """ import os diff --git a/org_frontier/probes/probe_parity_dissolution.py b/org_frontier/probes/probe_parity_dissolution.py index a63d61fa..5cc67047 100644 --- a/org_frontier/probes/probe_parity_dissolution.py +++ b/org_frontier/probes/probe_parity_dissolution.py @@ -6,7 +6,7 @@ irreducible in principle yet undetectable in practice well before that. Method: compute the parity hub's Φ at n=6 and n=7, confirm the 2^(2−n) form, and report the size where the law predicts Φ < 1e−6. -Run: ~/iit-playground/venv-4.0/bin/python -m org_frontier.probes.probe_parity_dissolution +Run: python -m org_frontier.probes.probe_parity_dissolution """ import math diff --git a/org_frontier/probes/probe_parity_multiparty.py b/org_frontier/probes/probe_parity_multiparty.py index 7a0db4bf..7b978aad 100644 --- a/org_frontier/probes/probe_parity_multiparty.py +++ b/org_frontier/probes/probe_parity_multiparty.py @@ -9,7 +9,7 @@ Nodes: 0=W, 1=S, 2=C1, 3=C2. W, C1, C2 track S. -Run: ~/iit-playground/venv-4.0/bin/python -m org_frontier.probes.probe_parity_multiparty +Run: python -m org_frontier.probes.probe_parity_multiparty """ from .lib import verdict, major_complex diff --git a/org_frontier/probes/probe_parity_scaling.py b/org_frontier/probes/probe_parity_scaling.py index f9ed5307..bdbce3b3 100644 --- a/org_frontier/probes/probe_parity_scaling.py +++ b/org_frontier/probes/probe_parity_scaling.py @@ -6,7 +6,7 @@ build the all-parity commit (S = XOR of all parties, every party reads S) at n=3,4,5; read Φ and the core, against the conjunctive hub for reference. -Run: ~/iit-playground/venv-4.0/bin/python -m org_frontier.probes.probe_parity_scaling +Run: python -m org_frontier.probes.probe_parity_scaling """ import os diff --git a/org_frontier/probes/probe_party_peer_coupling.py b/org_frontier/probes/probe_party_peer_coupling.py index ed1a3f38..afa73d89 100644 --- a/org_frontier/probes/probe_party_peer_coupling.py +++ b/org_frontier/probes/probe_party_peer_coupling.py @@ -6,7 +6,7 @@ intermediate m where they otherwise drop. Method: build a symmetric m-hub with added party-to-party coupling and compare its core at the intermediate m to the plain symmetric m-hub. -Run: ~/iit-playground/venv-4.0/bin/python -m org_frontier.probes.probe_party_peer_coupling +Run: python -m org_frontier.probes.probe_party_peer_coupling """ import os diff --git a/org_frontier/probes/probe_phi_ar.py b/org_frontier/probes/probe_phi_ar.py index 92a69dfc..0aeaa649 100644 --- a/org_frontier/probes/probe_phi_ar.py +++ b/org_frontier/probes/probe_phi_ar.py @@ -8,7 +8,7 @@ residual entropy), and test how well Φ_AR separates exact-triadic from exact-dyadic forms (group means and rank-AUC). -Run: ~/iit-playground/venv-4.0/bin/python -m org_frontier.probes.probe_phi_ar +Run: python -m org_frontier.probes.probe_phi_ar """ import os diff --git a/org_frontier/probes/probe_phi_ar_failure.py b/org_frontier/probes/probe_phi_ar_failure.py index 11589ff8..f0fee351 100644 --- a/org_frontier/probes/probe_phi_ar_failure.py +++ b/org_frontier/probes/probe_phi_ar_failure.py @@ -9,7 +9,7 @@ Reads: org_frontier/probes/results/consilience_panel.csv (run Probe 89 first). -Run: ~/iit-playground/venv-4.0/bin/python -m org_frontier.probes.probe_phi_ar_failure +Run: python -m org_frontier.probes.probe_phi_ar_failure """ import csv diff --git a/org_frontier/probes/probe_phi_free_test.py b/org_frontier/probes/probe_phi_free_test.py index 90a88a6d..925d1503 100644 --- a/org_frontier/probes/probe_phi_free_test.py +++ b/org_frontier/probes/probe_phi_free_test.py @@ -7,7 +7,7 @@ strict-mediation n=3 family (`enumerate_family`, 256 forms), compute two Φ-free predicates from the connectivity / function sensitivities and compare each to the exact verdict. -Run: ~/iit-playground/venv-4.0/bin/python -m org_frontier.probes.probe_phi_free_test +Run: python -m org_frontier.probes.probe_phi_free_test """ from org_frontier.classifier.classifier import classify_rules, cm_from_rules diff --git a/org_frontier/probes/probe_phi_performance.py b/org_frontier/probes/probe_phi_performance.py index d3156c6e..1de7c56a 100644 --- a/org_frontier/probes/probe_phi_performance.py +++ b/org_frontier/probes/probe_phi_performance.py @@ -11,7 +11,7 @@ successful determinations more reliably (the Engel-Malone direction), OR the relationship is weak (as Probe 29 hinted: triadic ≠ automatically higher success). Report whichever holds. -Run: ~/iit-playground/venv-4.0/bin/python -m org_frontier.probes.probe_phi_performance +Run: python -m org_frontier.probes.probe_phi_performance """ from org_frontier.classifier.classifier import classify_rules diff --git a/org_frontier/probes/probe_phi_vs_mi_te.py b/org_frontier/probes/probe_phi_vs_mi_te.py index 4cb03e7c..a58e102f 100644 --- a/org_frontier/probes/probe_phi_vs_mi_te.py +++ b/org_frontier/probes/probe_phi_vs_mi_te.py @@ -8,7 +8,7 @@ H45: the Φ verdict cleanly separates dyadic/triadic; MI(W;C) and transfer entropy overlap heavily between the classes (they measure dependence, not integration). -Run: ~/iit-playground/venv-4.0/bin/python -m org_frontier.probes.probe_phi_vs_mi_te +Run: python -m org_frontier.probes.probe_phi_vs_mi_te """ import numpy as np diff --git a/org_frontier/probes/probe_phiid_length.py b/org_frontier/probes/probe_phiid_length.py index 7bcdb6a9..5e46f443 100644 --- a/org_frontier/probes/probe_phiid_length.py +++ b/org_frontier/probes/probe_phiid_length.py @@ -6,7 +6,7 @@ corpus forms, estimate Φ_R from trajectories of increasing length and track the triadic−dyadic group separation as length grows. -Run: ~/iit-playground/venv-4.0/bin/python -m org_frontier.probes.probe_phiid_length +Run: python -m org_frontier.probes.probe_phiid_length """ import os diff --git a/org_frontier/probes/probe_phiid_social.py b/org_frontier/probes/probe_phiid_social.py index 1474bf45..1a30b5ef 100644 --- a/org_frontier/probes/probe_phiid_social.py +++ b/org_frontier/probes/probe_phiid_social.py @@ -9,7 +9,7 @@ coordination shows up as synergistic information the parts do not have separately — while dyadic forms are redundancy/transfer dominated. -Run: ~/iit-playground/venv-4.0/bin/python -m org_frontier.probes.probe_phiid_social +Run: python -m org_frontier.probes.probe_phiid_social """ import numpy as np diff --git a/org_frontier/probes/probe_phiid_sweep.py b/org_frontier/probes/probe_phiid_sweep.py index 34dd50f4..c3ed0c54 100644 --- a/org_frontier/probes/probe_phiid_sweep.py +++ b/org_frontier/probes/probe_phiid_sweep.py @@ -6,7 +6,7 @@ triadic and dyadic corpus forms, compute the minimum-over-bipartitions Φ_R with both the MMI and CCS redundancy lattices, at two noise levels, and report the triadic−dyadic group separation in each cell. -Run: ~/iit-playground/venv-4.0/bin/python -m org_frontier.probes.probe_phiid_sweep +Run: python -m org_frontier.probes.probe_phiid_sweep """ import os diff --git a/org_frontier/probes/probe_pivotality.py b/org_frontier/probes/probe_pivotality.py index 9384467e..9845d4fc 100644 --- a/org_frontier/probes/probe_pivotality.py +++ b/org_frontier/probes/probe_pivotality.py @@ -12,7 +12,7 @@ H11: influence predicts core membership — zero influence (S ignores X) is never in core, and higher influence raises P(X in core). -Run: ~/iit-playground/venv-4.0/bin/python -m org_frontier.probes.probe_pivotality +Run: python -m org_frontier.probes.probe_pivotality """ import csv diff --git a/org_frontier/probes/probe_power.py b/org_frontier/probes/probe_power.py index 7af7c406..59c60370 100644 --- a/org_frontier/probes/probe_power.py +++ b/org_frontier/probes/probe_power.py @@ -10,7 +10,7 @@ Nodes: 0=W, 1=S, 2=C. -Run: ~/iit-playground/venv-4.0/bin/python -m org_frontier.probes.probe_power +Run: python -m org_frontier.probes.probe_power """ import csv diff --git a/org_frontier/probes/probe_principal_regime.py b/org_frontier/probes/probe_principal_regime.py index 6d60b962..e535bc2d 100644 --- a/org_frontier/probes/probe_principal_regime.py +++ b/org_frontier/probes/probe_principal_regime.py @@ -8,7 +8,7 @@ Nodes: 0=W, 1=S, 2=C, 3=P. -Run: ~/iit-playground/venv-4.0/bin/python -m org_frontier.probes.probe_principal_regime +Run: python -m org_frontier.probes.probe_principal_regime """ import itertools diff --git a/org_frontier/probes/probe_pure_higher_order.py b/org_frontier/probes/probe_pure_higher_order.py index 091a72d1..dfdfd66c 100644 --- a/org_frontier/probes/probe_pure_higher_order.py +++ b/org_frontier/probes/probe_pure_higher_order.py @@ -6,7 +6,7 @@ proper subsystems (every single node and pair, with the others as background). A triadic form whose best proper subset has Φ = 0 is purely higher-order. -Run: ~/iit-playground/venv-4.0/bin/python -m org_frontier.probes.probe_pure_higher_order +Run: python -m org_frontier.probes.probe_pure_higher_order """ import itertools diff --git a/org_frontier/probes/probe_redundant.py b/org_frontier/probes/probe_redundant.py index a204c1a9..9ee1a7d3 100644 --- a/org_frontier/probes/probe_redundant.py +++ b/org_frontier/probes/probe_redundant.py @@ -8,7 +8,7 @@ Nodes: 0=W, 1=S1, 2=C, 3=S2. -Run: ~/iit-playground/venv-4.0/bin/python -m org_frontier.probes.probe_redundant +Run: python -m org_frontier.probes.probe_redundant """ from .lib import verdict, major_complex diff --git a/org_frontier/probes/probe_regime.py b/org_frontier/probes/probe_regime.py index f52cf608..90fcd386 100644 --- a/org_frontier/probes/probe_regime.py +++ b/org_frontier/probes/probe_regime.py @@ -10,7 +10,7 @@ Nodes: 0=W, 1=S, 2=C, 3=R. W and C track S. -Run: ~/iit-playground/venv-4.0/bin/python -m org_frontier.probes.probe_regime +Run: python -m org_frontier.probes.probe_regime """ from .lib import verdict, major_complex diff --git a/org_frontier/probes/probe_regulator.py b/org_frontier/probes/probe_regulator.py index 303af7e9..e480f5ff 100644 --- a/org_frontier/probes/probe_regulator.py +++ b/org_frontier/probes/probe_regulator.py @@ -8,7 +8,7 @@ Nodes: 0=W, 1=S, 2=C, 3=R. -Run: ~/iit-playground/venv-4.0/bin/python -m org_frontier.probes.probe_regulator +Run: python -m org_frontier.probes.probe_regulator """ from .lib import verdict, major_complex diff --git a/org_frontier/probes/probe_regulator_coalition.py b/org_frontier/probes/probe_regulator_coalition.py index 73b8c280..e2bebeab 100644 --- a/org_frontier/probes/probe_regulator_coalition.py +++ b/org_frontier/probes/probe_regulator_coalition.py @@ -9,7 +9,7 @@ Nodes: 0=W, 1=S, 2=C, 3=R1, 4=R2. -Run: ~/iit-playground/venv-4.0/bin/python -m org_frontier.probes.probe_regulator_coalition +Run: python -m org_frontier.probes.probe_regulator_coalition """ import os diff --git a/org_frontier/probes/probe_reliability.py b/org_frontier/probes/probe_reliability.py index 13034cea..08dea002 100644 --- a/org_frontier/probes/probe_reliability.py +++ b/org_frontier/probes/probe_reliability.py @@ -9,7 +9,7 @@ Nodes: 0=W, 1=S, 2=C. S' = W∧C with reliability r; W'=S, C'=S (deterministic). -Run: ~/iit-playground/venv-4.0/bin/python -m org_frontier.probes.probe_reliability +Run: python -m org_frontier.probes.probe_reliability """ import csv diff --git a/org_frontier/probes/probe_residual_ceiling.py b/org_frontier/probes/probe_residual_ceiling.py index cc528961..c1b1af4c 100644 --- a/org_frontier/probes/probe_residual_ceiling.py +++ b/org_frontier/probes/probe_residual_ceiling.py @@ -9,7 +9,7 @@ Reads: org_frontier/probes/results/residual_panel.csv (run Probe 125 first). -Run: ~/iit-playground/venv-4.0/bin/python -m org_frontier.probes.probe_residual_ceiling +Run: python -m org_frontier.probes.probe_residual_ceiling """ import csv diff --git a/org_frontier/probes/probe_residual_characterization.py b/org_frontier/probes/probe_residual_characterization.py index 0fe3c7d7..fc5440fa 100644 --- a/org_frontier/probes/probe_residual_characterization.py +++ b/org_frontier/probes/probe_residual_characterization.py @@ -11,7 +11,7 @@ Writes: org_frontier/probes/results/residual_panel.csv (read by Probes 126, 127). -Run: ~/iit-playground/venv-4.0/bin/python -m org_frontier.probes.probe_residual_characterization +Run: python -m org_frontier.probes.probe_residual_characterization """ import csv diff --git a/org_frontier/probes/probe_resilience.py b/org_frontier/probes/probe_resilience.py index 25e45d71..3496b0fc 100644 --- a/org_frontier/probes/probe_resilience.py +++ b/org_frontier/probes/probe_resilience.py @@ -7,7 +7,7 @@ flip each node in each attractor state, count deterministic steps to return to the attractor (recovery time), and correlate the mean recovery time with the verdict. -Run: ~/iit-playground/venv-4.0/bin/python -m org_frontier.probes.probe_resilience +Run: python -m org_frontier.probes.probe_resilience """ import os diff --git a/org_frontier/probes/probe_richness.py b/org_frontier/probes/probe_richness.py index 19a3ee3a..02833bc0 100644 --- a/org_frontier/probes/probe_richness.py +++ b/org_frontier/probes/probe_richness.py @@ -9,7 +9,7 @@ Nodes: 0=W1, 1=W2, 2=S, 3=C. W1,W2,C track S. -Run: ~/iit-playground/venv-4.0/bin/python -m org_frontier.probes.probe_richness +Run: python -m org_frontier.probes.probe_richness """ from .lib import verdict, major_complex diff --git a/org_frontier/probes/probe_robustness.py b/org_frontier/probes/probe_robustness.py index 4d8a9fa4..1cf76360 100644 --- a/org_frontier/probes/probe_robustness.py +++ b/org_frontier/probes/probe_robustness.py @@ -12,7 +12,7 @@ H14: verdict-flip rate = 0 under (A) with zero Φ variance; under (B) verdict stays triadic while Φ varies (magnitude is the soft part, verdict the hard part). -Run: ~/iit-playground/venv-4.0/bin/python -m org_frontier.probes.probe_robustness +Run: python -m org_frontier.probes.probe_robustness """ import numpy as np diff --git a/org_frontier/probes/probe_role_symmetry.py b/org_frontier/probes/probe_role_symmetry.py index 7dff7fe6..2e982346 100644 --- a/org_frontier/probes/probe_role_symmetry.py +++ b/org_frontier/probes/probe_role_symmetry.py @@ -6,7 +6,7 @@ W↔C-swapped form (swap nodes 0 and 2, and swap the mediator's two inputs), classify, and compare Φ and verdict to the original. Count any flips or Φ differences. -Run: ~/iit-playground/venv-4.0/bin/python -m org_frontier.probes.probe_role_symmetry +Run: python -m org_frontier.probes.probe_role_symmetry """ from org_frontier.classifier.classifier import classify_rules diff --git a/org_frontier/probes/probe_scale_n6.py b/org_frontier/probes/probe_scale_n6.py index 4e657abf..fdedb1eb 100644 --- a/org_frontier/probes/probe_scale_n6.py +++ b/org_frontier/probes/probe_scale_n6.py @@ -6,7 +6,7 @@ Method: sample strict-mediation n=6 forms, classify, and report the triadic rate with a comparison to the smaller sizes. -Run: ~/iit-playground/venv-4.0/bin/python -m org_frontier.probes.probe_scale_n6 [N] +Run: python -m org_frontier.probes.probe_scale_n6 [N] """ import os diff --git a/org_frontier/probes/probe_scaling_zoo.py b/org_frontier/probes/probe_scaling_zoo.py index b339ec2e..9af889cf 100644 --- a/org_frontier/probes/probe_scaling_zoo.py +++ b/org_frontier/probes/probe_scaling_zoo.py @@ -6,7 +6,7 @@ constant, linear, quadratic, exponential decay, and whatever the ring gives. Method: build chain, ring, conjunctive hub, pool, and parity hub at n=3..6; read Φ and name the law class from the sequence. -Run: ~/iit-playground/venv-4.0/bin/python -m org_frontier.probes.probe_scaling_zoo +Run: python -m org_frontier.probes.probe_scaling_zoo """ import os diff --git a/org_frontier/probes/probe_second_order_tom.py b/org_frontier/probes/probe_second_order_tom.py index 8710be00..e99fdc75 100644 --- a/org_frontier/probes/probe_second_order_tom.py +++ b/org_frontier/probes/probe_second_order_tom.py @@ -8,7 +8,7 @@ Nodes: 0=W, 1=S, 2=C, 3=M1, 4=M2. -Run: ~/iit-playground/venv-4.0/bin/python -m org_frontier.probes.probe_second_order_tom +Run: python -m org_frontier.probes.probe_second_order_tom """ from .lib import verdict, major_complex diff --git a/org_frontier/probes/probe_self_ref.py b/org_frontier/probes/probe_self_ref.py index 29014c94..c2c74185 100644 --- a/org_frontier/probes/probe_self_ref.py +++ b/org_frontier/probes/probe_self_ref.py @@ -8,7 +8,7 @@ Nodes: 0=W, 1=S, 2=C. -Run: ~/iit-playground/venv-4.0/bin/python -m org_frontier.probes.probe_self_ref +Run: python -m org_frontier.probes.probe_self_ref """ from .lib import verdict, major_complex diff --git a/org_frontier/probes/probe_sensemaking.py b/org_frontier/probes/probe_sensemaking.py index b20f95b0..71a3ddb4 100644 --- a/org_frontier/probes/probe_sensemaking.py +++ b/org_frontier/probes/probe_sensemaking.py @@ -8,7 +8,7 @@ Nodes: 0=W, 1=S, 2=C, 3=P (the worker's sensemaking process). -Run: ~/iit-playground/venv-4.0/bin/python -m org_frontier.probes.probe_sensemaking +Run: python -m org_frontier.probes.probe_sensemaking """ from .lib import verdict, major_complex diff --git a/org_frontier/probes/probe_shared_shock.py b/org_frontier/probes/probe_shared_shock.py index 78cf2f81..50ba8df1 100644 --- a/org_frontier/probes/probe_shared_shock.py +++ b/org_frontier/probes/probe_shared_shock.py @@ -8,7 +8,7 @@ Nodes: 0=W, 1=S, 2=C, 3=N (shared shock). -Run: ~/iit-playground/venv-4.0/bin/python -m org_frontier.probes.probe_shared_shock +Run: python -m org_frontier.probes.probe_shared_shock """ from .lib import verdict, major_complex diff --git a/org_frontier/probes/probe_surrogate_transfer.py b/org_frontier/probes/probe_surrogate_transfer.py index c8ce6d0b..4a80f828 100644 --- a/org_frontier/probes/probe_surrogate_transfer.py +++ b/org_frontier/probes/probe_surrogate_transfer.py @@ -8,7 +8,7 @@ information, transfer entropy, plus the full-joint O-information) on noisy trajectories; train on the 256 n=3 forms; test on n=4 and n=5 strict-mediation samples. -Run: ~/iit-playground/venv-4.0/bin/python -m org_frontier.probes.probe_surrogate_transfer +Run: python -m org_frontier.probes.probe_surrogate_transfer """ import os diff --git a/org_frontier/probes/probe_symmetric_multihub.py b/org_frontier/probes/probe_symmetric_multihub.py index 0d4c1c53..92efc925 100644 --- a/org_frontier/probes/probe_symmetric_multihub.py +++ b/org_frontier/probes/probe_symmetric_multihub.py @@ -7,7 +7,7 @@ and n=7 (each hub = the other hub AND all parties; each party = both hubs) and compare its core to the single hub and to the asymmetric two-hub of #103. -Run: ~/iit-playground/venv-4.0/bin/python -m org_frontier.probes.probe_symmetric_multihub +Run: python -m org_frontier.probes.probe_symmetric_multihub """ import os diff --git a/org_frontier/probes/probe_team_core.py b/org_frontier/probes/probe_team_core.py index 7055b0e9..f22011c2 100644 --- a/org_frontier/probes/probe_team_core.py +++ b/org_frontier/probes/probe_team_core.py @@ -9,7 +9,7 @@ Nodes per form labeled inline. -Run: ~/iit-playground/venv-4.0/bin/python -m org_frontier.probes.probe_team_core +Run: python -m org_frontier.probes.probe_team_core """ from .lib import verdict, major_complex diff --git a/org_frontier/probes/probe_team_core_rule.py b/org_frontier/probes/probe_team_core_rule.py index 1c710745..60f99bf5 100644 --- a/org_frontier/probes/probe_team_core_rule.py +++ b/org_frontier/probes/probe_team_core_rule.py @@ -7,7 +7,7 @@ coupled to S}, and compare with the actual major complex. Report exact-set match and node-level precision/recall. -Run: ~/iit-playground/venv-4.0/bin/python -m org_frontier.probes.probe_team_core_rule [N] [seed] +Run: python -m org_frontier.probes.probe_team_core_rule [N] [seed] """ import sys diff --git a/org_frontier/probes/probe_temporal_grain.py b/org_frontier/probes/probe_temporal_grain.py index 73d57e0b..4797acf2 100644 --- a/org_frontier/probes/probe_temporal_grain.py +++ b/org_frontier/probes/probe_temporal_grain.py @@ -9,7 +9,7 @@ Nodes: 0=W, 1=S, 2=C. -Run: ~/iit-playground/venv-4.0/bin/python -m org_frontier.probes.probe_temporal_grain +Run: python -m org_frontier.probes.probe_temporal_grain """ import numpy as np diff --git a/org_frontier/probes/probe_threshold_scaling.py b/org_frontier/probes/probe_threshold_scaling.py index 7be19392..ebb1bb98 100644 --- a/org_frontier/probes/probe_threshold_scaling.py +++ b/org_frontier/probes/probe_threshold_scaling.py @@ -6,7 +6,7 @@ factor, because no single member is pivotal there. Method: build the k-of-n threshold commit (S=1 iff the party count ≥ k, every party reads S) at n=4 and n=5; for each k read the verdict, Φ, and core size. -Run: ~/iit-playground/venv-4.0/bin/python -m org_frontier.probes.probe_threshold_scaling +Run: python -m org_frontier.probes.probe_threshold_scaling """ import os diff --git a/org_frontier/probes/probe_tom_agents.py b/org_frontier/probes/probe_tom_agents.py index 6ea430e5..80430965 100644 --- a/org_frontier/probes/probe_tom_agents.py +++ b/org_frontier/probes/probe_tom_agents.py @@ -8,7 +8,7 @@ Method: for each corpus form, read its commit function; run two fictitious-play learners whose reward is the commit; record episodes-to-stable-coordination; correlate with the verdict and compare to Probe 98. -Run: ~/iit-playground/venv-4.0/bin/python -m org_frontier.probes.probe_tom_agents +Run: python -m org_frontier.probes.probe_tom_agents """ import os diff --git a/org_frontier/probes/probe_topology_map.py b/org_frontier/probes/probe_topology_map.py index 4425b3b6..cb753178 100644 --- a/org_frontier/probes/probe_topology_map.py +++ b/org_frontier/probes/probe_topology_map.py @@ -7,7 +7,7 @@ single-hub, two-hub, and all-required pool forms at n=4 and n=5; report the verdict, Φ, and the change in Φ from n=4 to n=5. -Run: ~/iit-playground/venv-4.0/bin/python -m org_frontier.probes.probe_topology_map +Run: python -m org_frontier.probes.probe_topology_map """ import os diff --git a/org_frontier/probes/probe_transition_oinfo.py b/org_frontier/probes/probe_transition_oinfo.py index 7f890110..7484280a 100644 --- a/org_frontier/probes/probe_transition_oinfo.py +++ b/org_frontier/probes/probe_transition_oinfo.py @@ -9,7 +9,7 @@ O-information on the present-state triple and on the six-variable (present ⊕ next) joint. Compare the triadic-vs-dyadic group separation under each measure. -Run: ~/iit-playground/venv-4.0/bin/python -m org_frontier.probes.probe_transition_oinfo +Run: python -m org_frontier.probes.probe_transition_oinfo """ import os diff --git a/org_frontier/probes/probe_trees.py b/org_frontier/probes/probe_trees.py index fe05a801..9cdbdc3f 100644 --- a/org_frontier/probes/probe_trees.py +++ b/org_frontier/probes/probe_trees.py @@ -7,7 +7,7 @@ Nodes per form labeled inline. -Run: ~/iit-playground/venv-4.0/bin/python -m org_frontier.probes.probe_trees +Run: python -m org_frontier.probes.probe_trees """ from .lib import verdict, major_complex diff --git a/org_frontier/probes/probe_value_capture.py b/org_frontier/probes/probe_value_capture.py index 850e509e..d4524cc7 100644 --- a/org_frontier/probes/probe_value_capture.py +++ b/org_frontier/probes/probe_value_capture.py @@ -8,7 +8,7 @@ core) has high control and low exposure, the worker the reverse. Method: compute control and exposure per role for named forms and relate to core membership. -Run: ~/iit-playground/venv-4.0/bin/python -m org_frontier.probes.probe_value_capture +Run: python -m org_frontier.probes.probe_value_capture """ from org_frontier.classifier.classifier import tpm_from_rules, cm_from_rules diff --git a/org_frontier/probes/probe_variance.py b/org_frontier/probes/probe_variance.py index be3edcdc..a77fc07d 100644 --- a/org_frontier/probes/probe_variance.py +++ b/org_frontier/probes/probe_variance.py @@ -13,7 +13,7 @@ Nodes: 0=W, 1=S, 2=C. -Run: ~/iit-playground/venv-4.0/bin/python -m org_frontier.probes.probe_variance +Run: python -m org_frontier.probes.probe_variance """ from .lib import verdict diff --git a/org_frontier/probes/probe_voting.py b/org_frontier/probes/probe_voting.py index b73995d7..4e3aa080 100644 --- a/org_frontier/probes/probe_voting.py +++ b/org_frontier/probes/probe_voting.py @@ -7,7 +7,7 @@ Nodes: 0=W, 1=S (decision), 2=C1, 3=C2. -Run: ~/iit-playground/venv-4.0/bin/python -m org_frontier.probes.probe_voting +Run: python -m org_frontier.probes.probe_voting """ from .lib import verdict, major_complex diff --git a/org_frontier/probes/probe_voting_robustness.py b/org_frontier/probes/probe_voting_robustness.py index 9429e923..54f9f063 100644 --- a/org_frontier/probes/probe_voting_robustness.py +++ b/org_frontier/probes/probe_voting_robustness.py @@ -21,7 +21,7 @@ - All 6 sequential update orders Compare whole-system verdict, Phi, and core membership. -Run: ~/iit-playground/venv-4.0/bin/python -m org_frontier.probes.probe_voting_robustness +Run: python -m org_frontier.probes.probe_voting_robustness """ import itertools From 61216e3dd69b7c00fa09c5a1e92a9299543a4638 Mon Sep 17 00:00:00 2001 From: Claude Date: Tue, 27 Oct 2026 11:26:42 +0000 Subject: [PATCH 3/5] catalog and open-questions registry: place a question before scaffolding it tools/build_catalog.py generates catalog.json, one row per question, probe, study, foundations experiment, and open thread, with the one-line finding, the registered reproduce commands, and a runtime class; --find prints the rows nearest to a newcomer's question. OPEN_QUESTIONS.md is the registry of open threads with a status column and what each needs; MAP.md counts its open rows and lists the generator. The update-directory job regenerates catalog.json and catalog-current gates it. ci/precommit_audit.py reports, for a commit range, whether hypotheses.md landed before FINDINGS.md and results/ in each question directory. The manifest registers probes #7 (the first probe START_HERE runs), #57 and #116 (slow). q43 gains a literature/ note explaining the missing Stage 2 artifact. Co-Authored-By: Claude Fable 5.1 Claude-Session: https://claude.ai/code/session_01H7Xkmpzs9ewHjVmrjPYwYV --- .github/workflows/update-directory.yml | 15 +- MAP.md | 3 + OPEN_QUESTIONS.md | 34 + catalog.json | 10589 ++++++++++++++++ ci/precommit_audit.py | 120 + ci/reproduce.json | 46 + .../literature/README.md | 8 + tools/build_catalog.py | 318 + tools/build_map.py | 15 + 9 files changed, 11141 insertions(+), 7 deletions(-) create mode 100644 OPEN_QUESTIONS.md create mode 100644 catalog.json create mode 100644 ci/precommit_audit.py create mode 100644 org_frontier/questions/q43_thompson_interdependence/literature/README.md create mode 100644 tools/build_catalog.py diff --git a/.github/workflows/update-directory.yml b/.github/workflows/update-directory.yml index c43cf62a..23baa2eb 100644 --- a/.github/workflows/update-directory.yml +++ b/.github/workflows/update-directory.yml @@ -1,9 +1,9 @@ name: update-directory -# Keeps the generated surfaces current: the directory in README.md, MAP.md, and the research-watch -# INDEX.md. On a pull request from this repo, it regenerates all three and commits the result back to +# Keeps the generated surfaces current: the directory in README.md, MAP.md, catalog.json, and the +# research-watch INDEX.md. On a pull request from this repo, it regenerates them and commits the result back to # the PR branch, so a contributor who adds an experiment does not have to remember to run the -# generators. The `directory-current`, `map-current`, and `research-index-current` checks in +# generators. The `directory-current`, `map-current`, `catalog-current`, and `research-index-current` checks in # ci/reproduce.json are the safety net: on fork PRs (where this job cannot push) a stale file fails CI, # and the contributor runs the generator themselves. @@ -34,21 +34,22 @@ jobs: python-version: "3.12" # The generators use only the standard library, so no dependency install is needed. - - name: Regenerate the directory, the map, and the research index + - name: Regenerate the directory, the map, the catalog, and the research index run: | python tools/build_index.py python tools/build_map.py + python tools/build_catalog.py python org_frontier/research/build_research_index.py python org_frontier/research/build_cards_index.py - name: Commit if any generated surface changed run: | - if git diff --quiet -- README.md MAP.md org_frontier/research/INDEX.md org_frontier/research/*/literature/REFERENCES.md; then + if git diff --quiet -- README.md MAP.md catalog.json org_frontier/research/INDEX.md org_frontier/research/*/literature/REFERENCES.md; then echo "Directory, map, research index, and reference-card indexes already current." exit 0 fi git config user.name "github-actions[bot]" git config user.email "41898282+github-actions[bot]@users.noreply.github.com" - git add README.md MAP.md org_frontier/research/INDEX.md org_frontier/research/*/literature/REFERENCES.md - git commit -m "docs: regenerate README directory, MAP, research index, and reference-card indexes [skip ci]" + git add README.md MAP.md catalog.json org_frontier/research/INDEX.md org_frontier/research/*/literature/REFERENCES.md + git commit -m "docs: regenerate README directory, MAP, catalog, research index, and reference-card indexes [skip ci]" git push origin HEAD:${{ github.head_ref }} diff --git a/MAP.md b/MAP.md index c253af50..e50f4165 100644 --- a/MAP.md +++ b/MAP.md @@ -15,6 +15,7 @@ Start here. The full directory lives in [`README.md`](README.md); the operating | [`AGENTS.md`](AGENTS.md) | Operating manual for agents: map, run/verify, git rule, land flow, done-checklist | | [`README.md`](README.md) | What the lab is, the thesis, setup, and the full generated directory | | [`OVERVIEW.md`](OVERVIEW.md) | Five-minute orientation: the argument, where it stands, where to contribute | +| [`OPEN_QUESTIONS.md`](OPEN_QUESTIONS.md) | The open threads with a status column: what is waiting for someone, and what each needs | | [`GETTING_STARTED.md`](GETTING_STARTED.md) | Hands-on: environment → confirm the instrument → scaffold → register → PR | | [`CONTRIBUTING.md`](CONTRIBUTING.md) | Code, probe, study, and house-style conventions a submission must meet | | [`REPO_LAYOUT.md`](REPO_LAYOUT.md) | The two-repo git trap: this repo vs the nested private dissertation | @@ -87,6 +88,7 @@ Run the relevant generator after adding content, then verify with its `--check`. |---|---|---| | [`tools/build_index.py`](tools/build_index.py) | `python tools/build_index.py` | the generated directory in README.md | | [`tools/build_map.py`](tools/build_map.py) | `python tools/build_map.py` | this file, MAP.md | +| [`tools/build_catalog.py`](tools/build_catalog.py) | `python tools/build_catalog.py` | catalog.json — the searchable index of questions, probes, studies, and open threads (`--find`) | | [`org_frontier/research/build_research_index.py`](org_frontier/research/build_research_index.py) | `python org_frontier/research/build_research_index.py` | the research watch INDEX.md | | [`ci/reproduce.py`](ci/reproduce.py) | `python ci/reproduce.py` | every registered number in ci/reproduce.json | @@ -101,3 +103,4 @@ Run the relevant generator after adding content, then verify with its `--check`. | 9 | foundations experiments | `foundations/*/` with a `FINDINGS.md` | | 10 | literature reviews | `org_frontier/reviews/*/` with a `FINDINGS.md` | | 773 | watch entries (program-level) | `org_frontier/research/*/literature/references.bib` | +| 15 | open threads | `OPEN_QUESTIONS.md` rows with status `open` | diff --git a/OPEN_QUESTIONS.md b/OPEN_QUESTIONS.md new file mode 100644 index 00000000..c46c3f68 --- /dev/null +++ b/OPEN_QUESTIONS.md @@ -0,0 +1,34 @@ +# Open questions — the threads waiting for someone + +The written agendas (`RESEARCH_AGENDA_50_V2.md`, `RESEARCH_AGENDA_V4.md`, the Q74–Q117 agendas) are +answered. This table is what is still open, in one place, with a status an assistant can read. It is +the registry `tools/build_catalog.py` folds into `catalog.json` and `MAP.md` counts. + +To take one: edit its status to `claimed` in the same pull request that adds your scaffold or packet, +so two people do not run the same thread. When it lands, set it to `answered` and name the study. +To add one: a new `O` row; keep the id stable. + +Status is one of `open`, `claimed`, `answered`. Needs is what the thread is waiting on: `compute` +(runs now on the venv), `data` (a real series, cohort, or site), `tooling`, or `review`. + +| id | question | status | needs | where | first command | +|---|---|---|---|---|---| +| O01 | Does the extremes-only quorum law survive weighted or noisy quorums? | open | compute | `org_frontier/probes/weighted_quorum/`, study D in `org_frontier/STRUCTURAL_FINDINGS.md` | `python -m org_frontier.protocol.new_question --slug weighted_quorum_law` | +| O02 | Does exact Shapley pivotality sharpen the membership law past the null-player corner at larger forms, with a coalition-formation account? | open | compute | `org_frontier/threads/shapley_membership/THREAD.md` | `python -m org_frontier.threads.shapley_membership.shapley_membership` | +| O03 | Is there a coordination arrangement that is algorithmacy but not directive algorithmic management, or does none exist? | open | compute | the committee review, `org_frontier/essays/committed_determination_committee_review.md` | `python tools/build_catalog.py --find "algorithmic management directive"` | +| O04 | Does the two-condition membership account hold when a party has more than two states? | open | compute | `org_frontier/designs/WAVE10_PARKED_DESIGNS.md` #5; the multivalued overlay in `third_party/pyphi_iit4_mv/` now supplies the tooling | `python third_party/pyphi_iit4_mv/smoke_m2.py` | +| O05 | Does the dyadic/triadic verdict depend on the IIT version (3.0 big-Φ vs the 4.0 SIA)? | open | tooling | `org_frontier/designs/WAVE10_PARKED_DESIGNS.md` #8 | read the design; an IIT-3.0 configuration is the missing piece | +| O06 | Can a cheap proxy recover the verdict past the exact-Φ size ceiling (~10–12 nodes)? | open | compute | `foundations/learned_surrogate/`, `org_frontier/proxy_bridge/`, `org_frontier/cascade/` | `python -m org_frontier.cascade.run --panel org_frontier/cascade/residual_panel_n4_unconstrained.csv --smoke` | +| O07 | One real coordination arrangement, modeled from interview and observation evidence to an exact-Φ verdict, with inter-rater reliability on the encoding. | open | data | `org_frontier/field/PROTOCOL.md`; packet `org_frontier/field/packets/gig_dispatch/` | `PYPHI_WELCOME_OFF=true PYTHONPATH=. python org_frontier/field/packets/gig_dispatch/analysis.py` | +| O08 | One qualitative study run as fieldwork: a real setting read against a named prior, reporting where it departs from the catalog. | open | data | `org_frontier/qualitative/TOPICS.md`; template `org_frontier/qualitative/template/` | `PYPHI_WELCOME_OFF=true PYTHONPATH=. python org_frontier/qualitative/template/analyze.py` | +| O09 | A recorded coordination series the recurrence instrument has not read, where the determination actor is logged (bot-merged project, dispatch log, physiological series). | open | data | `org_frontier/recurrence/`; verified open datasets in `org_frontier/research/DATA_SOURCES.md` | `PYPHI_WELCOME_OFF=true PYTHONPATH=. python org_frontier/recurrence/packets/template/run_study.py` | +| O10 | Field the pre-registered three-wave algorithmacy panel with a real cohort. | open | data | `org_frontier/survey/cohort_algorithmacy/` | `PYTHONPATH=. python org_frontier/survey/cohort_algorithmacy/analysis.py` | +| O11 | Can trained coders look at a real arrangement and agree on dyadic vs triadic reliably enough to use the construct as an instrument? | open | data | `org_frontier/designs/WAVE10_PARKED_DESIGNS.md` #42 | read the design, then the field protocol's step 4 | +| O12 | Do human triads on a joint-commit interface show the difficulty gap the verdict predicts, where selfish bandit agents did not (Probe 98)? | open | data | `org_frontier/designs/WAVE10_PARKED_DESIGNS.md` #41 | read the design sketch and its pre-registration outline | +| O13 | Can the verdict be read from a real interaction log, estimating the TPM over a few discrete units? | open | data | `org_frontier/designs/WAVE10_PARKED_DESIGNS.md` #24; runnable-now datasets in `org_frontier/research/DATA_SOURCES.md` | `python tools/build_catalog.py --find "interaction log TPM estimate"` | +| O14 | Why does the ergodic-components gap stay unexplained by phase, path, observable, or panel mechanisms (`GAP_UNEXPLAINED`)? | open | compute | `org_frontier/ergodicity/AGENDA.md`, `org_frontier/studies/ergodic_gap_decomposition/` | `python tools/build_catalog.py --find "ergodic gap"` | +| O15 | Review a submission: reproduce its numbers, audit its pre-commitment, judge its argument. The board needs reviewers. | open | review | `MAINTAINERS.md`, `PUBLISHING.md` | `python ci/reproduce.py ` on an open pull request | + +Pick a `compute` row to work from the venv today, a `data` row if you can bring a real series, cohort, +or site, and the `review` row if you would rather check work than add it. `START_HERE.md` Phase 3.5 +is how an assistant routes a newcomer's own question to one of these or to a fresh scaffold. diff --git a/catalog.json b/catalog.json new file mode 100644 index 00000000..e34aeb0d --- /dev/null +++ b/catalog.json @@ -0,0 +1,10589 @@ +{ + "_help": "Generated by tools/build_catalog.py; do not edit by hand. One row per question, probe, study, foundations experiment, and open thread. Search it with `python tools/build_catalog.py --find \"\"` before scaffolding a new question.", + "counts": { + "question": 170, + "probe": 463, + "study": 127, + "foundations": 9, + "open": 15 + }, + "rows": [ + { + "kind": "question", + "id": "Q6", + "slug": "noise_phase_transition", + "title": "Commit noise on a mediated triad: smooth Φ decay with a step verdict, no interior critical point", + "question": "For a triadic conjunctive mediated form whose commit flips with probability p (a probabilistic TPM, S' = W∧C realized only with reliability 1−p), how do Φ_MIP and the dyadic/triadic verdict move as p rises — and is the verdict transition sharp (a threshold or a kink in Φ or its derivative) or gradual (the smooth monotone decay the reliability sweeps already showed)?", + "finding": "Commit noise: phase transition or smooth decay?", + "path": "org_frontier/questions/q6_noise_phase_transition", + "artifacts": { + "review": true, + "hypotheses": true, + "literature": true, + "paper": true, + "findings": true + }, + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "question", + "id": "Q7", + "slug": "party_vs_mediator_noise", + "title": "Party noise versus mediator noise: which seat carries the flip changes the Φ curve", + "question": "In a triadic conjunctive mediated form (worker W, mediator/system S, counterpart C), does injecting stochastic output-flip noise into the parties' updates (W and C, probability p) collapse the triad at the same Φ(p) curve and the same verdict-flip point as injecting the same noise into the mediator's commit (S) — or do the two noise sites have asymmetric effects on Φ_MIP and the dyadic/triadic…", + "finding": "party noise vs mediator noise findings", + "path": "org_frontier/questions/q7_party_vs_mediator_noise", + "artifacts": { + "review": true, + "hypotheses": true, + "literature": true, + "paper": true, + "findings": true + }, + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "question", + "id": "Q8", + "slug": "parity_vs_conjunctive_noise", + "title": "Parity hub versus conjunctive hub under flip-noise", + "question": "Under matched stochastic flip-noise injected into the commit (a probabilistic-TPM commit that flips with probability p, the Q6/Q7 noise model), does the parity (XOR-family) hub lose its dyadic/triadic verdict faster than the conjunctive hub at the same size n — comparing, at fixed n (n=3 and n=4), the Φ_MIP(p) decay curves and the noise level at which each form's verdict collapses, and asking…", + "finding": "parity hub vs conjunctive hub under flip-noise findings", + "path": "org_frontier/questions/q8_parity_vs_conjunctive_noise", + "artifacts": { + "review": true, + "hypotheses": true, + "literature": true, + "paper": true, + "findings": true + }, + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "question", + "id": "Q9", + "slug": "timescale_separation", + "title": "A slow mediator over fast parties flips the coordination verdict", + "question": "In a triadic conjunctive mediated form (worker W, mediator/system S, counterpart C), does running the parties on a fast clock and the mediator on a slow clock — S holds its previous value for k steps, or commits with probability 1/k per step — factor the coordination the way sequential (asynchronous) update did in Probe 62? Compute Φ_MIP, the dyadic/triadic verdict, and the major complex as a…", + "finding": "Timescale separation: findings", + "path": "org_frontier/questions/q9_timescale_separation", + "artifacts": { + "review": true, + "hypotheses": true, + "literature": true, + "paper": true, + "findings": true + }, + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "question", + "id": "Q10", + "slug": "commit_delay", + "title": "Commit-response delay: graded Φ, stable verdict", + "question": "In a triadic conjunctive mediated form (worker W, mediator/system S, counterpart C), insert a fixed transport delay so the parties respond to the mediator's commit from d steps earlier — a pipeline of d buffer nodes carrying the commit, or the parties reading S at lag d — for delays d = 0, 1, 2, 3; compute Φ_MIP, the dyadic/triadic verdict, and the major complex as a function of d against the d=0…", + "finding": "commit→response transport delay findings", + "path": "org_frontier/questions/q10_commit_delay", + "artifacts": { + "review": true, + "hypotheses": true, + "literature": true, + "paper": true, + "findings": true + }, + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "question", + "id": "Q11", + "slug": "oscillatory_scaling", + "title": "Oscillatory coordination forms: a constant ring law, a period term, no triadic guarantee", + "question": "Do coordination forms whose dynamics settle onto a limit cycle (an oscillatory attractor) carry a Φ(n) scaling law distinct from the fixed-point families in the scaling-law zoo (Probe 132) — the conjunctive hub Φ=n−1 (Probe 116), the pool Φ=n(n−1), the parity hub Φ=2^(2−n), and the period-capped ring? Build limit-cycle forms (a ring with a rotating update, or a mediated form with a periodic…", + "finding": "oscillatory Φ scaling law findings", + "path": "org_frontier/questions/q11_oscillatory_scaling", + "artifacts": { + "review": true, + "hypotheses": true, + "literature": true, + "paper": true, + "findings": true + }, + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "question", + "id": "Q43", + "slug": "thompson_interdependence", + "title": "Thompson's interdependence types against the dyadic/triadic verdict", + "question": "Does the IIT-4.0 dyadic/triadic verdict map onto Thompson's (1967) three types of organizational interdependence — pooled to a dyadic/factorable coordination form, sequential to a mediator chain, and reciprocal to an irreducible triad — when each type is modeled as a small Boolean dynamical system and read on its exact-Φ verdict and major complex?", + "finding": "Thompson's interdependence types (pooled, sequential, reciprocal) against the IIT-4.0 dyadic/triadic verdict. Matched triple at n=3, AND family", + "path": "org_frontier/questions/q43_thompson_interdependence", + "artifacts": { + "review": true, + "hypotheses": true, + "literature": true, + "paper": true, + "findings": true + }, + "reproduce": [ + "python -m org_frontier.questions.q43_thompson_interdependence.probe_thompson_ordering", + "python -m org_frontier.questions.q43_thompson_interdependence.probe_thompson_sequential" + ], + "runtime": "fast" + }, + { + "kind": "question", + "id": "Q45", + "slug": "edge_floor_uniqueness", + "title": "Conjunctive uniqueness at the edge floor", + "question": "At the lean 2(n−1) causal-edge floor of strict mediation, is the conjunctive (AND) commit the only determination class that achieves the maximum integrated information available at that wiring budget (Φ = n−1), or do other commit types (OR, parity, or non-mediation wirings) also saturate their respective ceilings at the same edge count?", + "finding": "", + "path": "org_frontier/questions/q45_edge_floor_uniqueness", + "artifacts": { + "review": true, + "hypotheses": true, + "literature": true, + "paper": true, + "findings": true + }, + "reproduce": [ + "python -m org_frontier.questions.q45_edge_floor_uniqueness.probe_conjunctive_max", + "python -m org_frontier.questions.q45_edge_floor_uniqueness.probe_edge_floor", + "python -m org_frontier.questions.q45_edge_floor_uniqueness.probe_global_floor", + "python -m org_frontier.questions.q45_edge_floor_uniqueness.probe_or_strict", + "python -m org_frontier.questions.q45_edge_floor_uniqueness.probe_parity_floor" + ], + "runtime": "slow" + }, + { + "kind": "question", + "id": "Q49", + "slug": "mip_seam_mincut", + "title": "The weakest seam is a tie", + "question": "When a triadic coordination form is read on its minimum-information partition (MIP), prior probes report the worker as the severed singleton — the \"weakest seam.\" Is that a structural fact about the worker, or a degenerate tie among symmetric partitions broken by node-index convention? And when a verdict-preserving asymmetry is introduced, does the unique seam track the least-coupled party — a…", + "finding": "", + "path": "org_frontier/questions/q49_mip_seam_mincut", + "artifacts": { + "review": true, + "hypotheses": true, + "literature": true, + "paper": true, + "findings": true + }, + "reproduce": [ + "python -m org_frontier.questions.q49_mip_seam_mincut.probe_seam_break", + "python -m org_frontier.questions.q49_mip_seam_mincut.probe_seam_direction", + "python -m org_frontier.questions.q49_mip_seam_mincut.probe_seam_family", + "python -m org_frontier.questions.q49_mip_seam_mincut.probe_seam_mincut", + "python -m org_frontier.questions.q49_mip_seam_mincut.probe_seam_tie" + ], + "runtime": "fast" + }, + { + "kind": "question", + "id": "Q50", + "slug": "or_triadic_seam", + "title": "Party-read structure for OR triadic binding at the edge floor", + "question": "What party-read structure lets an OR-labelled strict-mediation triad bind irreducibly (Φ=2.0) at the four-edge floor, while otherwise-similar OR forms collapse to a dyad?", + "finding": "", + "path": "org_frontier/questions/q50_or_triadic_seam", + "artifacts": { + "review": true, + "hypotheses": true, + "literature": true, + "paper": true, + "findings": true + }, + "reproduce": [ + "python -m org_frontier.questions.q50_or_triadic_seam.probe_commit_symmetry", + "python -m org_frontier.questions.q50_or_triadic_seam.probe_or_asymmetric", + "python -m org_frontier.questions.q50_or_triadic_seam.probe_or_constant", + "python -m org_frontier.questions.q50_or_triadic_seam.probe_or_matched", + "python -m org_frontier.questions.q50_or_triadic_seam.probe_or_seam" + ], + "runtime": "fast" + }, + { + "kind": "question", + "id": "Q51", + "slug": "implication_backchannel", + "title": "implication back-channel", + "question": "Does adding a minimal worker–counterpart back-channel edge let implication-commit triads bind irreducibly (Φ=2.0) with matched party reads, instead of the complementary reads that strict mediation requires?", + "finding": "", + "path": "org_frontier/questions/q51_implication_backchannel", + "artifacts": { + "review": true, + "hypotheses": true, + "literature": true, + "paper": true, + "findings": true + }, + "reproduce": [ + "python -m org_frontier.questions.q51_implication_backchannel.probe_impl_complementary_preserve", + "python -m org_frontier.questions.q51_implication_backchannel.probe_impl_phi2_matched", + "python -m org_frontier.questions.q51_implication_backchannel.probe_impl_strict_control", + "python -m org_frontier.questions.q51_implication_backchannel.probe_impl_symmetric_unify", + "python -m org_frontier.questions.q51_implication_backchannel.probe_impl_triadic_matched" + ], + "runtime": "fast" + }, + { + "kind": "question", + "id": "Q52", + "slug": "phi_ladder_mechanism", + "title": "phi-ladder mechanism", + "question": "What structural feature of the implication commit indices {2, 4, 11, 13} determines an n=3 form's rung on the one-sided back-channel Φ ladder (0.830075 vs 0.415037 vs dyadic), and why does symmetric two-sided coupling collapse the ladder to a single value?", + "finding": "", + "path": "org_frontier/questions/q52_phi_ladder_mechanism", + "artifacts": { + "review": true, + "hypotheses": true, + "literature": true, + "paper": true, + "findings": true + }, + "reproduce": [ + "python -m org_frontier.questions.q52_phi_ladder_mechanism.probe_ccentric_plateau", + "python -m org_frontier.questions.q52_phi_ladder_mechanism.probe_mid_invariant", + "python -m org_frontier.questions.q52_phi_ladder_mechanism.probe_symmetric_collapse", + "python -m org_frontier.questions.q52_phi_ladder_mechanism.probe_symmetric_lift", + "python -m org_frontier.questions.q52_phi_ladder_mechanism.probe_wcentric_polarity" + ], + "runtime": "fast" + }, + { + "kind": "question", + "id": "Q53", + "slug": "impl_phi_ceiling", + "title": "implication Phi ceiling", + "question": "Can any back-channel topology or graded channel strength restore matched-read implication forms to the strict-mediation complementary ceiling Φ=2.0, or is 0.830075 the absolute maximum once outer-party coupling is added beyond the four-edge floor?", + "finding": "", + "path": "org_frontier/questions/q53_impl_phi_ceiling", + "artifacts": { + "review": true, + "hypotheses": true, + "literature": true, + "paper": true, + "findings": true + }, + "reproduce": [ + "python -m org_frontier.questions.q53_impl_phi_ceiling.probe_counterpart_and_ceiling", + "python -m org_frontier.questions.q53_impl_phi_ceiling.probe_supremum_characterization", + "python -m org_frontier.questions.q53_impl_phi_ceiling.probe_topology_sweep_phi2", + "python -m org_frontier.questions.q53_impl_phi_ceiling.probe_worker_or_ceiling", + "python -m org_frontier.questions.q53_impl_phi_ceiling.probe_xor_exceed_equilibrium" + ], + "runtime": "fast" + }, + { + "kind": "question", + "id": "Q54", + "slug": "xor_parity_mechanism", + "title": "XOR parity back-channel mechanism", + "question": "What structural feature of XOR parity back-channels enables Φ=2.0 restoration on matched-read implication forms when conjunctive AND/OR gates cap at 0.830075?", + "finding": "", + "path": "org_frontier/questions/q54_xor_parity_mechanism", + "artifacts": { + "review": true, + "hypotheses": true, + "literature": true, + "paper": true, + "findings": true + }, + "reproduce": [ + "python -m org_frontier.questions.q54_xor_parity_mechanism.probe_commit_alignment", + "python -m org_frontier.questions.q54_xor_parity_mechanism.probe_gate_bijectivity", + "python -m org_frontier.questions.q54_xor_parity_mechanism.probe_parity_necessity", + "python -m org_frontier.questions.q54_xor_parity_mechanism.probe_seam_entropy", + "python -m org_frontier.questions.q54_xor_parity_mechanism.probe_tpm_permutation" + ], + "runtime": "fast" + }, + { + "kind": "question", + "id": "Q55", + "slug": "bijective_discriminator", + "title": "bijective parity below-vs-ceiling discriminator", + "question": "What distinguishes the sixteen bijective parity-channel pairs that remain below Φ=2.0 from the thirty-two that reach the ceiling on matched-read implication forms?", + "finding": "", + "path": "org_frontier/questions/q55_bijective_discriminator", + "artifacts": { + "review": true, + "hypotheses": true, + "literature": true, + "paper": true, + "findings": true + }, + "reproduce": [ + "python -m org_frontier.questions.q55_bijective_discriminator.probe_mid_rung_uniform", + "python -m org_frontier.questions.q55_bijective_discriminator.probe_mip_singleton", + "python -m org_frontier.questions.q55_bijective_discriminator.probe_misaligned_partition", + "python -m org_frontier.questions.q55_bijective_discriminator.probe_seam_entropy_split", + "python -m org_frontier.questions.q55_bijective_discriminator.probe_xnor_alignment_flip" + ], + "runtime": "fast" + }, + { + "kind": "question", + "id": "Q56", + "slug": "symmetric_complete_mip", + "title": "symmetric complete MIP geometry", + "question": "Why do the sixteen symmetric bijective parity pairs that reach Phi=2.0 uniformly adopt the complete three-part MIP {W,S,C} rather than the outer-party singleton seams seen on the aligned one-sided ceiling pairs?", + "finding": "", + "path": "org_frontier/questions/q56_symmetric_complete_mip", + "artifacts": { + "review": true, + "hypotheses": true, + "literature": true, + "paper": true, + "findings": true + }, + "reproduce": [ + "python -m org_frontier.questions.q56_symmetric_complete_mip.probe_complete_only_tie", + "python -m org_frontier.questions.q56_symmetric_complete_mip.probe_directional_symmetry", + "python -m org_frontier.questions.q56_symmetric_complete_mip.probe_dual_outer_excluded", + "python -m org_frontier.questions.q56_symmetric_complete_mip.probe_min_norm_tiebreak", + "python -m org_frontier.questions.q56_symmetric_complete_mip.probe_one_sided_outer_tie" + ], + "runtime": "fast" + }, + { + "kind": "question", + "id": "Q57", + "slug": "channel_direction_mip", + "title": "channel direction MIP seam", + "question": "Why does the one-sided channel direction fix which outer party — W under worker wiring, C under counterpart wiring — achieves minimum normalized_phi and co-enters the official MIP tie set with the complete partition, when both outer-party two-part cuts reach system Phi on every aligned ceiling pair?", + "finding": "", + "path": "org_frontier/questions/q57_channel_direction_mip", + "artifacts": { + "review": true, + "hypotheses": true, + "literature": true, + "paper": true, + "findings": true + }, + "reproduce": [ + "python -m org_frontier.questions.q57_channel_direction_mip.probe_complete_norm_equal", + "python -m org_frontier.questions.q57_channel_direction_mip.probe_dual_norm_split", + "python -m org_frontier.questions.q57_channel_direction_mip.probe_gate_invariant_direction", + "python -m org_frontier.questions.q57_channel_direction_mip.probe_norm_ratio", + "python -m org_frontier.questions.q57_channel_direction_mip.probe_recipient_seam_rule" + ], + "runtime": "fast" + }, + { + "kind": "question", + "id": "Q58", + "slug": "normalization_cut_geometry", + "title": "normalization cut geometry", + "question": "Why does isolating the back-channel recipient as the outer singleton yield normalized_phi exactly half that of the non-recipient singleton on aligned one-sided ceiling pairs, and which IIT-4.0 partition repertoire or cut-size asymmetry produces the fixed 2.0 ratio with zero spread across all sixteen forms?", + "finding": "Q57 #187 documented the fixed two-to-one normalized_phi ratio without identifying the normalization", + "path": "org_frontier/questions/q58_normalization_cut_geometry", + "artifacts": { + "review": true, + "hypotheses": true, + "literature": true, + "paper": true, + "findings": true + }, + "reproduce": [ + "python -m org_frontier.questions.q58_normalization_cut_geometry.probe_complete_cut_match", + "python -m org_frontier.questions.q58_normalization_cut_geometry.probe_equal_phi_baseline", + "python -m org_frontier.questions.q58_normalization_cut_geometry.probe_inverse_cut_law", + "python -m org_frontier.questions.q58_normalization_cut_geometry.probe_norm_factor_ratio", + "python -m org_frontier.questions.q58_normalization_cut_geometry.probe_severed_edge_ratio" + ], + "runtime": "fast" + }, + { + "kind": "question", + "id": "Q59", + "slug": "directed_cut_edges", + "title": "directed cut edges", + "question": "Which directed edges in the min-norm partition cut matrices differ between the recipient and non-recipient outer singletons, and does back-channel cross-edge placement alone account for the invariant 4-versus-2 severed-connection split?", + "finding": "Q58 #190 counted severed connections without naming directed edges. The back-channel cross-edge appears in", + "path": "org_frontier/questions/q59_directed_cut_edges", + "artifacts": { + "review": true, + "hypotheses": true, + "literature": true, + "paper": true, + "findings": true + }, + "reproduce": [ + "python -m org_frontier.questions.q59_directed_cut_edges.probe_cross_edge_shared", + "python -m org_frontier.questions.q59_directed_cut_edges.probe_cross_subtract_equal", + "python -m org_frontier.questions.q59_directed_cut_edges.probe_mediator_only_diff", + "python -m org_frontier.questions.q59_directed_cut_edges.probe_recipient_template", + "python -m org_frontier.questions.q59_directed_cut_edges.probe_symdiff_size" + ], + "runtime": "fast" + }, + { + "kind": "question", + "id": "Q60", + "slug": "thompson_backchannel", + "title": "Thompson back-channel typing", + "question": "Among aligned one-sided back-channel forms held at triadic Φ=2.0, does Thompson's sequential/reciprocal interdependence label track the recipient party's mediator-severance template (two mediator-incident edges in the recipient-only cut difference), or does the uniform triadic verdict collapse interdependence typing once the back-channel is present?", + "finding": "Thompson sequential/reciprocal interdependence against the Q59 back-channel mediator-severance templates", + "path": "org_frontier/questions/q60_thompson_backchannel", + "artifacts": { + "review": true, + "hypotheses": true, + "literature": true, + "paper": true, + "findings": true + }, + "reproduce": [ + "python -m org_frontier.questions.q60_thompson_backchannel.probe_cycle_collapse", + "python -m org_frontier.questions.q60_thompson_backchannel.probe_no_phi_discrimination", + "python -m org_frontier.questions.q60_thompson_backchannel.probe_return_path_tracks_recipient", + "python -m org_frontier.questions.q60_thompson_backchannel.probe_type_tracks_template", + "python -m org_frontier.questions.q60_thompson_backchannel.probe_uniform_triadic_verdict" + ], + "runtime": "fast" + }, + { + "kind": "question", + "id": "Q61", + "slug": "seam_return_typing", + "title": "MIP seam vs return-path typing", + "question": "On aligned one-sided back-channel forms held at uniform triadic max_phi=2.0, does the official MIP singleton seam ({W,SC} vs {WS,C}) track return-path sequential/reciprocal typing even though max_phi offers no subpanel discrimination?", + "finding": "Official MIP singleton seam against Q43 return-path sequential/reciprocal typing on the back-channel panel", + "path": "org_frontier/questions/q61_seam_return_typing", + "artifacts": { + "review": true, + "hypotheses": true, + "literature": true, + "paper": true, + "findings": true + }, + "reproduce": [ + "python -m org_frontier.questions.q61_seam_return_typing.probe_coextensive_partitions", + "python -m org_frontier.questions.q61_seam_return_typing.probe_seam_not_coarser", + "python -m org_frontier.questions.q61_seam_return_typing.probe_seam_not_finer", + "python -m org_frontier.questions.q61_seam_return_typing.probe_seam_recover_discrimination", + "python -m org_frontier.questions.q61_seam_return_typing.probe_seam_tracks_type" + ], + "runtime": "fast" + }, + { + "kind": "question", + "id": "Q62", + "slug": "excluded_cut_signal", + "title": "Excluded outer cut signal", + "question": "On aligned one-sided back-channel forms at uniform max_phi=2.0, does the excluded (non-tied) outer singleton cut with normalized_phi=1.0 carry independent return-path signal once tied-seam and type are known to be co-extensive?", + "finding": "Excluded outer singleton cut against Q43 return-path typing on the back-channel panel after Q61 established", + "path": "org_frontier/questions/q62_excluded_cut_signal", + "artifacts": { + "review": true, + "hypotheses": true, + "literature": true, + "paper": true, + "findings": true + }, + "reproduce": [ + "python -m org_frontier.questions.q62_excluded_cut_signal.probe_excluded_complement", + "python -m org_frontier.questions.q62_excluded_cut_signal.probe_excluded_norm_phi", + "python -m org_frontier.questions.q62_excluded_cut_signal.probe_inverse_type_track", + "python -m org_frontier.questions.q62_excluded_cut_signal.probe_no_third_joint", + "python -m org_frontier.questions.q62_excluded_cut_signal.probe_tied_determines_excluded" + ], + "runtime": "fast" + }, + { + "kind": "question", + "id": "Q63", + "slug": "outreach_coordination", + "title": "Is agent-mediated outreach triadic? An exact-Φ reading of the sender–agent–recipient form", + "question": "", + "finding": "outreach as a coordination form", + "path": "org_frontier/questions/q63_outreach_coordination", + "artifacts": { + "review": true, + "hypotheses": true, + "literature": true, + "paper": true, + "findings": true + }, + "reproduce": [ + "python -m org_frontier.questions.q63_outreach_coordination.probe_cost_proxy", + "python -m org_frontier.questions.q63_outreach_coordination.probe_disclosure", + "python -m org_frontier.questions.q63_outreach_coordination.probe_liveness", + "python -m org_frontier.questions.q63_outreach_coordination.probe_read_recipient", + "python -m org_frontier.questions.q63_outreach_coordination.probe_substitutable" + ], + "runtime": "fast" + }, + { + "kind": "question", + "id": "Q64", + "slug": "outreach_breadth_scaling", + "title": "Outreach breadth scaling: an all-binding campaign stays triadic at Φ = n−1", + "question": "", + "finding": "outreach breadth scaling", + "path": "org_frontier/questions/q64_outreach_breadth_scaling", + "artifacts": { + "review": true, + "hypotheses": true, + "literature": true, + "paper": true, + "findings": true + }, + "reproduce": [ + "python -m org_frontier.questions.q64_outreach_breadth_scaling.probe_all_required_scaling", + "python -m org_frontier.questions.q64_outreach_breadth_scaling.probe_core_membership", + "python -m org_frontier.questions.q64_outreach_breadth_scaling.probe_mixed_collapse", + "python -m org_frontier.questions.q64_outreach_breadth_scaling.probe_pooled_broadcast", + "python -m org_frontier.questions.q64_outreach_breadth_scaling.probe_substitutable_scaling" + ], + "runtime": "fast" + }, + { + "kind": "question", + "id": "Q65", + "slug": "agent_chain_outreach", + "title": "Agent-to-agent outreach: depth preserves the triad, but localises the core to an end pair", + "question": "", + "finding": "agent-to-agent outreach (depth)", + "path": "org_frontier/questions/q65_agent_chain_outreach", + "artifacts": { + "review": true, + "hypotheses": true, + "literature": true, + "paper": true, + "findings": true + }, + "reproduce": [ + "python -m org_frontier.questions.q65_agent_chain_outreach.probe_chain_core", + "python -m org_frontier.questions.q65_agent_chain_outreach.probe_chain_depth", + "python -m org_frontier.questions.q65_agent_chain_outreach.probe_depth_breadth", + "python -m org_frontier.questions.q65_agent_chain_outreach.probe_relay_gap" + ], + "runtime": "fast" + }, + { + "kind": "question", + "id": "Q66", + "slug": "chain_core_boundary", + "title": "The core of an agent chain is a symmetric end pair; closing the loop binds the whole", + "question": "", + "finding": "where the core sits in an agent chain", + "path": "org_frontier/questions/q66_chain_core_boundary", + "artifacts": { + "review": true, + "hypotheses": true, + "literature": true, + "paper": true, + "findings": true + }, + "reproduce": [ + "python -m org_frontier.questions.q66_chain_core_boundary.probe_chain_core_depth", + "python -m org_frontier.questions.q66_chain_core_boundary.probe_ring_core" + ], + "runtime": "fast" + }, + { + "kind": "question", + "id": "Q67", + "slug": "reciprocity_gradient", + "title": "The reciprocity gradient: partial feedback seeds a core, full coupling binds the exchange", + "question": "", + "finding": "the reciprocity gradient", + "path": "org_frontier/questions/q67_reciprocity_gradient", + "artifacts": { + "review": true, + "hypotheses": true, + "literature": true, + "paper": true, + "findings": true + }, + "reproduce": [ + "python -m org_frontier.questions.q67_reciprocity_gradient.probe_reciprocity_gradient" + ], + "runtime": "fast" + }, + { + "kind": "question", + "id": "Q68", + "slug": "triage_gating", + "title": "A recipient-side triage agent joins the coordination only when bidirectionally coupled, and displaces the sender", + "question": "", + "finding": "a recipient-side triage agent", + "path": "org_frontier/questions/q68_triage_gating", + "artifacts": { + "review": true, + "hypotheses": true, + "literature": true, + "paper": true, + "findings": true + }, + "reproduce": [ + "python -m org_frontier.questions.q68_triage_gating.probe_triage_gating" + ], + "runtime": "fast" + }, + { + "kind": "question", + "id": "Q69", + "slug": "two_sided_agents", + "title": "When both sides delegate, the irreducible coordination is the two agents", + "question": "", + "finding": "the two-sided agent exchange", + "path": "org_frontier/questions/q69_two_sided_agents", + "artifacts": { + "review": true, + "hypotheses": true, + "literature": true, + "paper": true, + "findings": true + }, + "reproduce": [ + "python -m org_frontier.questions.q69_two_sided_agents.probe_two_sided" + ], + "runtime": "fast" + }, + { + "kind": "question", + "id": "Q70", + "slug": "agent_substitutability", + "title": "Multi-homing across interchangeable agents collapses the coordination", + "question": "", + "finding": "agent substitutability", + "path": "org_frontier/questions/q70_agent_substitutability", + "artifacts": { + "review": true, + "hypotheses": true, + "literature": true, + "paper": true, + "findings": true + }, + "reproduce": [ + "python -m org_frontier.questions.q70_agent_substitutability.probe_agent_substitutability" + ], + "runtime": "fast" + }, + { + "kind": "question", + "id": "Q71", + "slug": "noise_robustness", + "title": "The outreach verdict is robust to noise: it degrades gracefully and never manufactures a triad", + "question": "", + "finding": "noise robustness of the outreach verdict", + "path": "org_frontier/questions/q71_noise_robustness", + "artifacts": { + "review": true, + "hypotheses": true, + "literature": true, + "paper": true, + "findings": true + }, + "reproduce": [ + "python -m org_frontier.questions.q71_noise_robustness.probe_noise_robustness" + ], + "runtime": "fast" + }, + { + "kind": "question", + "id": "Q72", + "slug": "cost_proxy_frontier", + "title": "The cost/proxy frontier: cheap structural proxies cannot recover the outreach verdict", + "question": "", + "finding": "the cost/proxy frontier", + "path": "org_frontier/questions/q72_cost_proxy_frontier", + "artifacts": { + "review": true, + "hypotheses": true, + "literature": true, + "paper": true, + "findings": true + }, + "reproduce": [ + "python -m org_frontier.questions.q72_cost_proxy_frontier.probe_cost_proxy_frontier" + ], + "runtime": "fast" + }, + { + "kind": "question", + "id": "Q73", + "slug": "outreach_law", + "title": "The outreach-coordination law: when agent-mediated outreach demands algorithmacy", + "question": "", + "finding": "the outreach-coordination law", + "path": "org_frontier/questions/q73_outreach_law", + "artifacts": { + "review": true, + "hypotheses": true, + "literature": true, + "paper": true, + "findings": true + }, + "reproduce": [ + "python -m org_frontier.questions.q73_outreach_law.probe_law_pillars" + ], + "runtime": "fast" + }, + { + "kind": "question", + "id": "Q74", + "slug": "verdict_vs_complex", + "title": "Whole-system verdict versus the maximal complex: a rule for which to report", + "question": "", + "finding": "whole-system verdict versus the maximal complex", + "path": "org_frontier/questions/q74_verdict_vs_complex", + "artifacts": { + "review": true, + "hypotheses": true, + "literature": true, + "paper": true, + "findings": true + }, + "reproduce": [ + "python -m org_frontier.questions.q74_verdict_vs_complex.probe_verdict_vs_complex" + ], + "runtime": "fast" + }, + { + "kind": "question", + "id": "Q75", + "slug": "spectator_robustness", + "title": "Spectator robustness: the triadic core is stable under added non-participating parties", + "question": "", + "finding": "spectator robustness of the core", + "path": "org_frontier/questions/q75_spectator_robustness", + "artifacts": { + "review": true, + "hypotheses": true, + "literature": true, + "paper": true, + "findings": true + }, + "reproduce": [ + "python -m org_frontier.questions.q75_spectator_robustness.probe_spectator_robustness" + ], + "runtime": "fast" + }, + { + "kind": "question", + "id": "Q79", + "slug": "stochastic_threshold", + "title": "Stochastic emergence: the triad accumulates with the probability of reading the recipient", + "question": "", + "finding": "stochastic emergence of the triad", + "path": "org_frontier/questions/q79_stochastic_threshold", + "artifacts": { + "review": true, + "hypotheses": true, + "literature": true, + "paper": true, + "findings": true + }, + "reproduce": [ + "python -m org_frontier.questions.q79_stochastic_threshold.probe_stochastic_threshold" + ], + "runtime": "fast" + }, + { + "kind": "question", + "id": "Q80", + "slug": "async_update", + "title": "Asynchronous update: the verdict survives, the magnitude falls", + "question": "", + "finding": "asynchronous update", + "path": "org_frontier/questions/q80_async_update", + "artifacts": { + "review": true, + "hypotheses": true, + "literature": true, + "paper": true, + "findings": true + }, + "reproduce": [ + "python -m org_frontier.questions.q80_async_update.probe_async_update" + ], + "runtime": "fast" + }, + { + "kind": "question", + "id": "Q81", + "slug": "learned_surrogate", + "title": "A learned surrogate for the outreach verdict, and the size ceiling", + "question": "", + "finding": "a learned surrogate recovers the verdict in-distribution, and fails to cross sizes", + "path": "org_frontier/questions/q81_learned_surrogate", + "artifacts": { + "review": true, + "hypotheses": true, + "literature": true, + "paper": true, + "findings": true + }, + "reproduce": [ + "python -m org_frontier.questions.q81_learned_surrogate.probe_learned_surrogate" + ], + "runtime": "slow" + }, + { + "kind": "question", + "id": "Q82", + "slug": "surrogate_vs_proxy", + "title": "The learned surrogate against the proxies that failed", + "question": "", + "finding": "the surrogate beats every single proxy, and one structural proxy is stronger than expected", + "path": "org_frontier/questions/q82_surrogate_vs_proxy", + "artifacts": { + "review": true, + "hypotheses": true, + "literature": true, + "paper": true, + "findings": true + }, + "reproduce": [ + "python -m org_frontier.questions.q82_surrogate_vs_proxy.probe_surrogate_vs_proxy" + ], + "runtime": "fast" + }, + { + "kind": "question", + "id": "Q83", + "slug": "agent_coalition", + "title": "A recipient-side gating coalition keeps a size-three core; only one of two required agents enters", + "question": "", + "finding": "a recipient-side gating coalition", + "path": "org_frontier/questions/q83_agent_coalition", + "artifacts": { + "review": true, + "hypotheses": true, + "literature": true, + "paper": true, + "findings": true + }, + "reproduce": [ + "python -m org_frontier.questions.q83_agent_coalition.probe_agent_coalition" + ], + "runtime": "fast" + }, + { + "kind": "question", + "id": "Q84", + "slug": "adversarial_agent", + "title": "Influence requires membership: an agent outside the core cannot flip the verdict", + "question": "", + "finding": "influence versus membership", + "path": "org_frontier/questions/q84_adversarial_agent", + "artifacts": { + "review": true, + "hypotheses": true, + "literature": true, + "paper": true, + "findings": true + }, + "reproduce": [ + "python -m org_frontier.questions.q84_adversarial_agent.probe_adversarial_agent" + ], + "runtime": "fast" + }, + { + "kind": "question", + "id": "Q85", + "slug": "agent_market", + "title": "A market of interchangeable agents is a broadcast: interchangeability collapses outreach at every size", + "question": "", + "finding": "a market of interchangeable agents", + "path": "org_frontier/questions/q85_agent_market", + "artifacts": { + "review": true, + "hypotheses": true, + "literature": true, + "paper": true, + "findings": true + }, + "reproduce": [ + "python -m org_frontier.questions.q85_agent_market.probe_agent_market" + ], + "runtime": "fast" + }, + { + "kind": "question", + "id": "Q89", + "slug": "heterogeneous_market", + "title": "Which heterogeneous agents enter the core of a market?", + "question": "", + "finding": "heterogeneous membership is a property of the joint determination, not the agent", + "path": "org_frontier/questions/q89_heterogeneous_market", + "artifacts": { + "review": true, + "hypotheses": true, + "literature": true, + "paper": true, + "findings": true + }, + "reproduce": [ + "python -m org_frontier.questions.q89_heterogeneous_market.probe_heterogeneous_market" + ], + "runtime": "fast" + }, + { + "kind": "question", + "id": "Q90", + "slug": "membership_law_scaling", + "title": "Does the core-membership law generalize past three nodes?", + "question": "", + "finding": "the membership law generalizes in kind, at moderate strength", + "path": "org_frontier/questions/q90_membership_law_scaling", + "artifacts": { + "review": true, + "hypotheses": true, + "literature": true, + "paper": true, + "findings": true + }, + "reproduce": [ + "python -m org_frontier.questions.q90_membership_law_scaling.probe_membership_law_scaling" + ], + "runtime": "slow" + }, + { + "kind": "question", + "id": "Q91", + "slug": "lossy_channel", + "title": "A lossy read degrades the triad gracefully", + "question": "", + "finding": "the triad degrades gracefully under a lossy read", + "path": "org_frontier/questions/q91_lossy_channel", + "artifacts": { + "review": true, + "hypotheses": true, + "literature": true, + "paper": true, + "findings": true + }, + "reproduce": [ + "python -m org_frontier.questions.q91_lossy_channel.probe_lossy_channel" + ], + "runtime": "fast" + }, + { + "kind": "question", + "id": "Q92", + "slug": "stateful_mediator", + "title": "Does a mediator's memory substitute for a live read?", + "question": "", + "finding": "a tracking memory substitutes for a live read, and reorganizes the core", + "path": "org_frontier/questions/q92_stateful_mediator", + "artifacts": { + "review": true, + "hypotheses": true, + "literature": true, + "paper": true, + "findings": true + }, + "reproduce": [ + "python -m org_frontier.questions.q92_stateful_mediator.probe_stateful_mediator" + ], + "runtime": "fast" + }, + { + "kind": "question", + "id": "Q93", + "slug": "fragility_margin", + "title": "A margin-to-dyadic metric, and two notions of robustness that diverge", + "question": "", + "finding": "two notions of robustness come apart", + "path": "org_frontier/questions/q93_fragility_margin", + "artifacts": { + "review": true, + "hypotheses": true, + "literature": true, + "paper": true, + "findings": true + }, + "reproduce": [ + "python -m org_frontier.questions.q93_fragility_margin.probe_fragility_margin" + ], + "runtime": "fast" + }, + { + "kind": "question", + "id": "Q94", + "slug": "multiple_complexes", + "title": "Multiple coexisting complexes, and why coupling does not fuse them", + "question": "", + "finding": "coordination holds multiple cores, and coupling does not fuse them", + "path": "org_frontier/questions/q94_multiple_complexes", + "artifacts": { + "review": true, + "hypotheses": true, + "literature": true, + "paper": true, + "findings": true + }, + "reproduce": [ + "python -m org_frontier.questions.q94_multiple_complexes.probe_multiple_complexes" + ], + "runtime": "fast" + }, + { + "kind": "question", + "id": "Q95", + "slug": "composition_of_triads", + "title": "Composing two triads: fragmentation, not unification", + "question": "", + "finding": "composing two triads fragments rather than unifies", + "path": "org_frontier/questions/q95_composition_of_triads", + "artifacts": { + "review": true, + "hypotheses": true, + "literature": true, + "paper": true, + "findings": true + }, + "reproduce": [ + "python -m org_frontier.questions.q95_composition_of_triads.probe_composition_of_triads" + ], + "runtime": "fast" + }, + { + "kind": "question", + "id": "Q96", + "slug": "contingent_membership", + "title": "State-contingent participation: a factored whole with a local core", + "question": "", + "finding": "contingent participation factors the whole, but keeps a local core", + "path": "org_frontier/questions/q96_contingent_membership", + "artifacts": { + "review": true, + "hypotheses": true, + "literature": true, + "paper": true, + "findings": true + }, + "reproduce": [ + "python -m org_frontier.questions.q96_contingent_membership.probe_contingent_membership" + ], + "runtime": "fast" + }, + { + "kind": "question", + "id": "Q97", + "slug": "coordinated_adversary", + "title": "The coordinated adversary: no influence without membership, but a mediator capture", + "question": "", + "finding": "a coalition gains no influence without membership, but can capture the mediator", + "path": "org_frontier/questions/q97_coordinated_adversary", + "artifacts": { + "review": true, + "hypotheses": true, + "literature": true, + "paper": true, + "findings": true + }, + "reproduce": [ + "python -m org_frontier.questions.q97_coordinated_adversary.probe_coordinated_adversary" + ], + "runtime": "fast" + }, + { + "kind": "question", + "id": "Q98", + "slug": "pivotality_bidirectionality", + "title": "Reading and influence: a hard gate at the corners, a soft one inside", + "question": "", + "finding": "the membership gate is hard at the corners, soft inside", + "path": "org_frontier/questions/q98_pivotality_bidirectionality", + "artifacts": { + "review": true, + "hypotheses": true, + "literature": true, + "paper": true, + "findings": true + }, + "reproduce": [ + "python -m org_frontier.questions.q98_pivotality_bidirectionality.probe_pivotality_bidirectionality" + ], + "runtime": "fast" + }, + { + "kind": "question", + "id": "Q99", + "slug": "binding_distinction", + "title": "The cause-effect structure of a triad: a joint mechanism, and a taxonomy of binders", + "question": "", + "finding": "the integration lives in a joint mechanism, but the binder is not always one party", + "path": "org_frontier/questions/q99_binding_distinction", + "artifacts": { + "review": true, + "hypotheses": true, + "literature": true, + "paper": true, + "findings": true + }, + "reproduce": [ + "python -m org_frontier.questions.q99_binding_distinction.probe_binding_distinction" + ], + "runtime": "fast" + }, + { + "kind": "question", + "id": "Q100", + "slug": "structure_fingerprint", + "title": "The cause-effect structure fingerprints the kind, and is orthogonal to the verdict", + "question": "", + "finding": "the structure fingerprints the kind, and its richness is not the scalar", + "path": "org_frontier/questions/q100_structure_fingerprint", + "artifacts": { + "review": true, + "hypotheses": true, + "literature": true, + "paper": true, + "findings": true + }, + "reproduce": [ + "python -m org_frontier.questions.q100_structure_fingerprint.probe_structure_fingerprint" + ], + "runtime": "fast" + }, + { + "kind": "question", + "id": "Q101", + "slug": "what_it_distinguishes", + "title": "What a coordination distinguishes: the joint-success state", + "question": "", + "finding": "coordination distinguishes the all-present, determination-firing state", + "path": "org_frontier/questions/q101_what_it_distinguishes", + "artifacts": { + "review": true, + "hypotheses": true, + "literature": true, + "paper": true, + "findings": true + }, + "reproduce": [ + "python -m org_frontier.questions.q101_what_it_distinguishes.probe_what_it_distinguishes" + ], + "runtime": "fast" + }, + { + "kind": "question", + "id": "Q102", + "slug": "relation_skeleton", + "title": "The relation skeleton: a hub in mediated coordination, a spread in symmetric", + "question": "", + "finding": "mediated coordination relates through a hub; the breadth count is combinatorial", + "path": "org_frontier/questions/q102_relation_skeleton", + "artifacts": { + "review": true, + "hypotheses": true, + "literature": true, + "paper": true, + "findings": true + }, + "reproduce": [ + "python -m org_frontier.questions.q102_relation_skeleton.probe_relation_skeleton" + ], + "runtime": "fast" + }, + { + "kind": "question", + "id": "Q103", + "slug": "structure_under_operations", + "title": "The cause-effect structure under the operations", + "question": "", + "finding": "the whole-system structure collapses under substitution but diverges from membership", + "path": "org_frontier/questions/q103_structure_under_operations", + "artifacts": { + "review": true, + "hypotheses": true, + "literature": true, + "paper": true, + "findings": true + }, + "reproduce": [ + "python -m org_frontier.questions.q103_structure_under_operations.probe_structure_under_operations" + ], + "runtime": "fast" + }, + { + "kind": "question", + "id": "Q104", + "slug": "load_bearing", + "title": "The load-bearing distinction: where the integration sits and what it hangs on", + "question": "", + "finding": "the integration concentrates in the binding distinction, and every edge bears load", + "path": "org_frontier/questions/q104_load_bearing", + "artifacts": { + "review": true, + "hypotheses": true, + "literature": true, + "paper": true, + "findings": true + }, + "reproduce": [ + "python -m org_frontier.questions.q104_load_bearing.probe_load_bearing" + ], + "runtime": "fast" + }, + { + "kind": "question", + "id": "Q105", + "slug": "construction_distance", + "title": "Construction distance: building a triad is restoring liveness at a party", + "question": "", + "finding": "the boundary is thin from the build side, and triads are built at the parties, not the mediator", + "path": "org_frontier/questions/q105_construction_distance", + "artifacts": { + "review": true, + "hypotheses": true, + "literature": true, + "paper": true, + "findings": true + }, + "reproduce": [ + "python -m org_frontier.questions.q105_construction_distance.probe_construction_distance" + ], + "runtime": "fast" + }, + { + "kind": "question", + "id": "Q106", + "slug": "design_operations", + "title": "The design operations: the law's conditions as reversible levers", + "question": "", + "finding": "the design vocabulary is the law's three conditions, read as moves", + "path": "org_frontier/questions/q106_design_operations", + "artifacts": { + "review": true, + "hypotheses": true, + "literature": true, + "paper": true, + "findings": true + }, + "reproduce": [ + "python -m org_frontier.questions.q106_design_operations.probe_design_operations" + ], + "runtime": "fast" + }, + { + "kind": "question", + "id": "Q107", + "slug": "repair", + "title": "Repair is lever-specific: no routing around the damage", + "question": "", + "finding": "repair is lever-specific: the broken condition must be the one restored", + "path": "org_frontier/questions/q107_repair", + "artifacts": { + "review": true, + "hypotheses": true, + "literature": true, + "paper": true, + "findings": true + }, + "reproduce": [ + "python -m org_frontier.questions.q107_repair.probe_repair" + ], + "runtime": "fast" + }, + { + "kind": "question", + "id": "Q108", + "slug": "controllability", + "title": "Controllability: the hub steers robustly, the spokes on a knife-edge", + "question": "", + "finding": "every party is a control node, but the mediator is dominant and the parties are knife-edge", + "path": "org_frontier/questions/q108_controllability", + "artifacts": { + "review": true, + "hypotheses": true, + "literature": true, + "paper": true, + "findings": true + }, + "reproduce": [ + "python -m org_frontier.questions.q108_controllability.probe_controllability" + ], + "runtime": "fast" + }, + { + "kind": "question", + "id": "Q110", + "slug": "reversibility", + "title": "Reversibility: the boundary is cheap toward the dyad, dear toward the triad", + "question": "", + "finding": "the dyad/triad boundary is asymmetric: easy to break, harder to build", + "path": "org_frontier/questions/q110_reversibility", + "artifacts": { + "review": true, + "hypotheses": true, + "literature": true, + "paper": true, + "findings": true + }, + "reproduce": [ + "python -m org_frontier.questions.q110_reversibility.probe_reversibility" + ], + "runtime": "fast" + }, + { + "kind": "question", + "id": "Q111", + "slug": "shapley_value", + "title": "The Shapley value of integration: the mediator captures the rent", + "question": "", + "finding": "the mediator captures two-thirds of the value; an outsider captures less than nothing", + "path": "org_frontier/questions/q111_shapley_value", + "artifacts": { + "review": true, + "hypotheses": true, + "literature": true, + "paper": true, + "findings": true + }, + "reproduce": [ + "python -m org_frontier.questions.q111_shapley_value.probe_shapley_value" + ], + "runtime": "fast" + }, + { + "kind": "question", + "id": "Q112", + "slug": "veto_power", + "title": "Veto power: everyone can break it, only the mediator captures it", + "question": "", + "finding": "destruction is democratic, value is concentrated", + "path": "org_frontier/questions/q112_veto_power", + "artifacts": { + "review": true, + "hypotheses": true, + "literature": true, + "paper": true, + "findings": true + }, + "reproduce": [ + "python -m org_frontier.questions.q112_veto_power.probe_veto_power" + ], + "runtime": "fast" + }, + { + "kind": "question", + "id": "Q113", + "slug": "substitutability_value", + "title": "Substitutability destroys value; a required set shares it", + "question": "", + "finding": "substitutability destroys all value; a required set shares it equally", + "path": "org_frontier/questions/q113_substitutability_value", + "artifacts": { + "review": true, + "hypotheses": true, + "literature": true, + "paper": true, + "findings": true + }, + "reproduce": [ + "python -m org_frontier.questions.q113_substitutability_value.probe_substitutability_value" + ], + "runtime": "fast" + }, + { + "kind": "question", + "id": "Q114", + "slug": "principal_rent", + "title": "The principal captures value by creating it", + "question": "", + "finding": "a principal captures value only by creating it; ownership alone captures nothing", + "path": "org_frontier/questions/q114_principal_rent", + "artifacts": { + "review": true, + "hypotheses": true, + "literature": true, + "paper": true, + "findings": true + }, + "reproduce": [ + "python -m org_frontier.questions.q114_principal_rent.probe_principal_rent" + ], + "runtime": "fast" + }, + { + "kind": "question", + "id": "Q115", + "slug": "market_value", + "title": "Scale pays the scarce, not the required", + "question": "", + "finding": "a growing required market commoditizes its agents and pays the scarce parties", + "path": "org_frontier/questions/q115_market_value", + "artifacts": { + "review": true, + "hypotheses": true, + "literature": true, + "paper": true, + "findings": true + }, + "reproduce": [ + "python -m org_frontier.questions.q115_market_value.probe_market_value" + ], + "runtime": "fast" + }, + { + "kind": "question", + "id": "Q116", + "slug": "value_against_structure", + "title": "Strategic value is structural depth, smoothed", + "question": "", + "finding": "strategic value and structural depth rank the parties alike, and coincide only in the small", + "path": "org_frontier/questions/q116_value_against_structure", + "artifacts": { + "review": true, + "hypotheses": true, + "literature": true, + "paper": true, + "findings": true + }, + "reproduce": [ + "python -m org_frontier.questions.q116_value_against_structure.probe_value_against_structure" + ], + "runtime": "fast" + }, + { + "kind": "question", + "id": "Q117", + "slug": "phi_free_test", + "title": "Triadicity has a Φ-free test, and it reads the logic", + "question": "", + "finding": "triadicity has a Φ-free test, but it reads the logic, not the wiring", + "path": "org_frontier/questions/q117_phi_free_test", + "artifacts": { + "review": true, + "hypotheses": true, + "literature": true, + "paper": true, + "findings": true + }, + "reproduce": [ + "python -m org_frontier.questions.q117_phi_free_test.probe_phi_free_test" + ], + "runtime": "fast" + }, + { + "kind": "question", + "id": "Q120", + "slug": "higher_order_binding", + "title": "No pure higher-order bind: every party in a triadic form is pivotal", + "question": "", + "finding": "no pure higher-order bind: every party in a triadic form is pivotal", + "path": "org_frontier/questions/q120_higher_order_binding", + "artifacts": { + "review": true, + "hypotheses": true, + "literature": false, + "paper": true, + "findings": true + }, + "reproduce": [ + "python -m org_frontier.questions.q120_higher_order_binding.probe_higher_order_binding", + "python -m org_frontier.questions.q120_higher_order_binding.probe_higher_order_binding --quick" + ], + "runtime": "slow" + }, + { + "kind": "question", + "id": "Q121", + "slug": "external_criterion", + "title": "The verdict is interventional: an external criterion where observation fails", + "question": "", + "finding": "the verdict has an interventional correlate where observation fails", + "path": "org_frontier/questions/q121_external_criterion", + "artifacts": { + "review": true, + "hypotheses": true, + "literature": true, + "paper": true, + "findings": true + }, + "reproduce": [ + "python -m org_frontier.questions.q121_external_criterion.probe_external_criterion" + ], + "runtime": "fast" + }, + { + "kind": "question", + "id": "Q122", + "slug": "game_validity", + "title": "Is the value function a valid cooperative game? A split verdict", + "question": "", + "finding": "the game is valid where the wave used it, and the critique holds where it bites", + "path": "org_frontier/questions/q122_game_validity", + "artifacts": { + "review": true, + "hypotheses": true, + "literature": true, + "paper": true, + "findings": true + }, + "reproduce": [ + "python -m org_frontier.questions.q122_game_validity.probe_game_validity" + ], + "runtime": "fast" + }, + { + "kind": "question", + "id": "Q123", + "slug": "reproducibility", + "title": "The verdict is reproducible within IIT-4.0, and version-bound", + "question": "", + "finding": "the verdict is reproducible within IIT-4.0, and the SYSTEM_CUTS charge is misdirected", + "path": "org_frontier/questions/q123_reproducibility", + "artifacts": { + "review": true, + "hypotheses": true, + "literature": true, + "paper": true, + "findings": true + }, + "reproduce": [ + "python -m org_frontier.questions.q123_reproducibility.probe_reproducibility" + ], + "runtime": "fast" + }, + { + "kind": "question", + "id": "Q124", + "slug": "aggregation_robustness", + "title": "The verdict is a robust capacity reading, not an artifact of the maximum", + "question": "", + "finding": "the verdict survives every reasonable aggregation; only the strict every-state rule flips it", + "path": "org_frontier/questions/q124_aggregation_robustness", + "artifacts": { + "review": true, + "hypotheses": true, + "literature": true, + "paper": true, + "findings": true + }, + "reproduce": [ + "python -m org_frontier.questions.q124_aggregation_robustness.probe_aggregation_robustness" + ], + "runtime": "fast" + }, + { + "kind": "question", + "id": "Q125", + "slug": "four_party_higher_order", + "title": "No pure higher-order bind at four parties: redundancy keeps every party pivotal", + "question": "", + "finding": "no pure higher-order bind at four parties either: redundancy does not free the bind", + "path": "org_frontier/questions/q125_four_party_higher_order", + "artifacts": { + "review": true, + "hypotheses": true, + "literature": false, + "paper": true, + "findings": true + }, + "reproduce": [ + "python -m org_frontier.questions.q125_four_party_higher_order.probe_four_party_higher_order", + "python -m org_frontier.questions.q125_four_party_higher_order.probe_four_party_higher_order --quick" + ], + "runtime": "slow" + }, + { + "kind": "question", + "id": "Q126", + "slug": "interested_mediator", + "title": "The interested mediator: self-interest erodes coordination irreducibility", + "question": "", + "finding": "self-interest disintegrates the coordination, and a gatekeeping agenda corrodes it fastest", + "path": "org_frontier/questions/q126_interested_mediator", + "artifacts": { + "review": true, + "hypotheses": true, + "literature": false, + "paper": true, + "findings": true + }, + "reproduce": [ + "python -m org_frontier.questions.q126_interested_mediator.probe_interested_mediator" + ], + "runtime": "fast" + }, + { + "kind": "question", + "id": "Q127", + "slug": "interest_baselines", + "title": "Denial is not special: self-interest collapse depends on the mediator's rare output", + "question": "", + "finding": "denial is not special: the collapse agenda flips with the baseline, and balanced mediators re-integrate", + "path": "org_frontier/questions/q127_interest_baselines", + "artifacts": { + "review": true, + "hypotheses": true, + "literature": false, + "paper": true, + "findings": true + }, + "reproduce": [ + "python -m org_frontier.questions.q127_interest_baselines.probe_interest_baselines" + ], + "runtime": "fast" + }, + { + "kind": "question", + "id": "Q128", + "slug": "adaptive_mediator", + "title": "The adaptive mediator: self-interest and irreducible coordination can coexist", + "question": "", + "finding": "adaptation re-integrates a predatory mediator, but only if its objective reads both parties", + "path": "org_frontier/questions/q128_adaptive_mediator", + "artifacts": { + "review": true, + "hypotheses": true, + "literature": false, + "paper": true, + "findings": true + }, + "reproduce": [ + "python -m org_frontier.questions.q128_adaptive_mediator.probe_adaptive_mediator" + ], + "runtime": "fast" + }, + { + "kind": "question", + "id": "Q129", + "slug": "mediator_interpolation", + "title": "Faithful to predatory: an adaptive objective re-integrates the system by displacing a party", + "question": "", + "finding": "two readings of coordination survival diverge: adaptation re-integrates the system by displacing a party", + "path": "org_frontier/questions/q129_mediator_interpolation", + "artifacts": { + "review": true, + "hypotheses": true, + "literature": false, + "paper": true, + "findings": true + }, + "reproduce": [ + "python -m org_frontier.questions.q129_mediator_interpolation.probe_mediator_interpolation" + ], + "runtime": "fast" + }, + { + "kind": "question", + "id": "Q130", + "slug": "pivotal_excluded", + "title": "Pivotal but excluded: a coordination can depend on a party its core does not contain", + "question": "", + "finding": "necessity is broader than membership: a party can be pivotal yet outside the core", + "path": "org_frontier/questions/q130_pivotal_excluded", + "artifacts": { + "review": true, + "hypotheses": true, + "literature": false, + "paper": true, + "findings": true + }, + "reproduce": [ + "python -m org_frontier.questions.q130_pivotal_excluded.probe_pivotal_excluded" + ], + "runtime": "fast" + }, + { + "kind": "question", + "id": "Q131", + "slug": "value_capture", + "title": "Value capture under an interested mediator: destruction, not extraction", + "question": "", + "finding": "interested mediation is value destruction, not rent extraction", + "path": "org_frontier/questions/q131_value_capture", + "artifacts": { + "review": true, + "hypotheses": true, + "literature": false, + "paper": true, + "findings": true + }, + "reproduce": [ + "python -m org_frontier.questions.q131_value_capture.probe_value_capture" + ], + "runtime": "fast" + }, + { + "kind": "question", + "id": "Q132", + "slug": "value_baselines", + "title": "Destruction or extraction: value capture under an interested mediator is baseline-relative", + "question": "", + "finding": "destruction or extraction is baseline-relative, and value must be read at the integrating state", + "path": "org_frontier/questions/q132_value_baselines", + "artifacts": { + "review": true, + "hypotheses": true, + "literature": false, + "paper": true, + "findings": true + }, + "reproduce": [ + "python -m org_frontier.questions.q132_value_baselines.probe_value_baselines" + ], + "runtime": "fast" + }, + { + "kind": "question", + "id": "Q133", + "slug": "deny_symmetry", + "title": "Agenda symmetry of value capture: deny extracts on XNOR as approve extracts on XOR", + "question": "", + "finding": "the destruction-vs-extraction split is symmetric in the agenda", + "path": "org_frontier/questions/q133_deny_symmetry", + "artifacts": { + "review": true, + "hypotheses": true, + "literature": false, + "paper": true, + "findings": true + }, + "reproduce": [ + "python -m org_frontier.questions.q133_deny_symmetry.probe_deny_symmetry" + ], + "runtime": "fast" + }, + { + "kind": "question", + "id": "Q134", + "slug": "rent_scaling", + "title": "The mediator's rent dilutes: two-thirds is a three-party number", + "question": "", + "finding": "the mediator's rent dilutes as the coordination grows", + "path": "org_frontier/questions/q134_rent_scaling", + "artifacts": { + "review": true, + "hypotheses": true, + "literature": false, + "paper": true, + "findings": true + }, + "reproduce": [ + "python -m org_frontier.questions.q134_rent_scaling.probe_rent_scaling" + ], + "runtime": "fast" + }, + { + "kind": "question", + "id": "Q135", + "slug": "objective_rent", + "title": "The objective's rent: the system's agenda is a co-owner of the coordination", + "question": "", + "finding": "the system's agenda is a rentier on a par with the system", + "path": "org_frontier/questions/q135_objective_rent", + "artifacts": { + "review": true, + "hypotheses": true, + "literature": false, + "paper": true, + "findings": true + }, + "reproduce": [ + "python -m org_frontier.questions.q135_objective_rent.probe_objective_rent" + ], + "runtime": "fast" + }, + { + "kind": "question", + "id": "Q136", + "slug": "competing_mediators", + "title": "Two competing mediators: competition destroys the coordination or stacks another toll", + "question": "", + "finding": "competition does not return the rent: substitutes destroy the value, complements split it", + "path": "org_frontier/questions/q136_competing_mediators", + "artifacts": { + "review": true, + "hypotheses": true, + "literature": false, + "paper": true, + "findings": true + }, + "reproduce": [ + "python -m org_frontier.questions.q136_competing_mediators.probe_competing_mediators" + ], + "runtime": "fast" + }, + { + "kind": "question", + "id": "Q137", + "slug": "interested_worker", + "title": "The interested worker: gaming the system breaks the coordination, it does not reclaim value", + "question": "", + "finding": "the worker cannot reclaim value by gaming; resistance breaks the coordination", + "path": "org_frontier/questions/q137_interested_worker", + "artifacts": { + "review": true, + "hypotheses": true, + "literature": false, + "paper": true, + "findings": true + }, + "reproduce": [ + "python -m org_frontier.questions.q137_interested_worker.probe_interested_worker" + ], + "runtime": "fast" + }, + { + "kind": "question", + "id": "Q138", + "slug": "faithful_fraction", + "title": "The minimum faithful fraction: reviving the coordination, and who pays for it", + "question": "", + "finding": "reviving the coordination takes three-quarters faithfulness, and the rent is the last quarter", + "path": "org_frontier/questions/q138_faithful_fraction", + "artifacts": { + "review": true, + "hypotheses": true, + "literature": false, + "paper": true, + "findings": true + }, + "reproduce": [ + "python -m org_frontier.questions.q138_faithful_fraction.probe_faithful_fraction" + ], + "runtime": "fast" + }, + { + "kind": "question", + "id": "Q139", + "slug": "value_veto", + "title": "Value and veto: Q112's decoupling is the integration", + "question": "", + "finding": "veto is always universal; the value-veto gap is the integration", + "path": "org_frontier/questions/q139_value_veto", + "artifacts": { + "review": true, + "hypotheses": true, + "literature": false, + "paper": true, + "findings": true + }, + "reproduce": [ + "python -m org_frontier.questions.q139_value_veto.probe_value_veto" + ], + "runtime": "fast" + }, + { + "kind": "question", + "id": "Q140", + "slug": "coalition_stability", + "title": "The core inverts the rent: faithful mediation monopolizes, interest frees the value", + "question": "", + "finding": "faithful mediation monopolizes the core; interest frees it", + "path": "org_frontier/questions/q140_coalition_stability", + "artifacts": { + "review": true, + "hypotheses": true, + "literature": false, + "paper": true, + "findings": true + }, + "reproduce": [ + "python -m org_frontier.questions.q140_coalition_stability.probe_coalition_stability" + ], + "runtime": "fast" + }, + { + "kind": "question", + "id": "Q141", + "slug": "lagging_objective", + "title": "The lagging objective: slow learning keeps the worker in the coordination", + "question": "", + "finding": "a lagging objective rescues the worker that immediate adaptation displaces", + "path": "org_frontier/questions/q141_lagging_objective", + "artifacts": { + "review": true, + "hypotheses": true, + "literature": false, + "paper": true, + "findings": true + }, + "reproduce": [ + "python -m org_frontier.questions.q141_lagging_objective.probe_lagging_objective" + ], + "runtime": "fast" + }, + { + "kind": "question", + "id": "Q143", + "slug": "ring_verdict_geometry", + "title": "The Ring's Verdict and Where Its MIP Cut Falls", + "question": "", + "finding": "The conjunctive ring reads triadic at every size from n=3 to n=7. The core is the full node set", + "path": "org_frontier/questions/q143_ring_verdict_geometry", + "artifacts": { + "review": true, + "hypotheses": true, + "literature": false, + "paper": true, + "findings": true + }, + "reproduce": [ + "python -m org_frontier.questions.q143_ring_verdict_geometry.probe_ring_verdict_geometry" + ], + "runtime": "slow" + }, + { + "kind": "question", + "id": "Q144", + "slug": "mediator_hierarchy_depth", + "title": "Mediator hierarchy: does Φ track depth like a chain or breadth like a pool?", + "question": "", + "finding": "depth holds Φ at the chain constant; breadth grows it linearly", + "path": "org_frontier/questions/q144_mediator_hierarchy_depth", + "artifacts": { + "review": true, + "hypotheses": true, + "literature": false, + "paper": true, + "findings": true + }, + "reproduce": [ + "python -m org_frontier.questions.q144_mediator_hierarchy_depth.probe_mediator_hierarchy_depth" + ], + "runtime": "fast" + }, + { + "kind": "question", + "id": "Q145", + "slug": "spanning_mediator_law", + "title": "The spanning-mediator law", + "question": "", + "finding": "A single mediator that spans every party binds the whole set into the core, and Φ rises one", + "path": "org_frontier/questions/q145_spanning_mediator_law", + "artifacts": { + "review": true, + "hypotheses": true, + "literature": false, + "paper": true, + "findings": true + }, + "reproduce": [ + "python -m org_frontier.questions.q145_spanning_mediator_law.probe_spanning_mediator_law" + ], + "runtime": "fast" + }, + { + "kind": "question", + "id": "Q146", + "slug": "smallworld_rewire_phi", + "title": "Rewiring a conjunctive ring lowers Phi; there is no small-world peak", + "question": "", + "finding": "rewiring lowers Φ monotonically; no small-world peak", + "path": "org_frontier/questions/q146_smallworld_rewire_phi", + "artifacts": { + "review": true, + "hypotheses": true, + "literature": false, + "paper": true, + "findings": true + }, + "reproduce": [ + "python -m org_frontier.questions.q146_smallworld_rewire_phi.probe_smallworld_rewire_phi" + ], + "runtime": "slow" + }, + { + "kind": "question", + "id": "Q147", + "slug": "random_boolean_topology", + "title": "Which graph statistic predicts a triadic verdict, and how large Φ is", + "question": "", + "finding": "short cycles predict a triadic verdict; core in-degree does not predict Φ", + "path": "org_frontier/questions/q147_random_boolean_topology", + "artifacts": { + "review": true, + "hypotheses": true, + "literature": false, + "paper": true, + "findings": true + }, + "reproduce": [ + "python -m org_frontier.questions.q147_random_boolean_topology.probe_random_boolean_topology" + ], + "runtime": "slow" + }, + { + "kind": "question", + "id": "Q148", + "slug": "multihub_chain_hierarchy", + "title": "Hierarchy depth and the hub-seam: where a chain of hubs stops integrating", + "question": "", + "finding": "A feedforward chain of gating hubs does not hold a core that spans its groups. At every tested depth the", + "path": "org_frontier/questions/q148_multihub_chain_hierarchy", + "artifacts": { + "review": true, + "hypotheses": true, + "literature": false, + "paper": true, + "findings": true + }, + "reproduce": [ + "python -m org_frontier.questions.q148_multihub_chain_hierarchy.probe_multihub_chain_hierarchy" + ], + "runtime": "fast" + }, + { + "kind": "question", + "id": "Q149", + "slug": "topology_shapley_split", + "title": "The Shapley split of subsystem Φ across topologies", + "question": "", + "finding": "The mediator rent does not spread out as mediation is carried by more hubs. It concentrates. The", + "path": "org_frontier/questions/q149_topology_shapley_split", + "artifacts": { + "review": true, + "hypotheses": true, + "literature": false, + "paper": true, + "findings": true + }, + "reproduce": [ + "python -m org_frontier.questions.q149_topology_shapley_split.probe_topology_shapley_split" + ], + "runtime": "fast" + }, + { + "kind": "question", + "id": "Q150", + "slug": "ring_chord_integration", + "title": "Adding one chord to a conjunctive ring: where the integration goes", + "question": "", + "finding": "A single chord across a conjunctive ring leaves the whole-system Φ flat but moves the cut and", + "path": "org_frontier/questions/q150_ring_chord_integration", + "artifacts": { + "review": true, + "hypotheses": true, + "literature": false, + "paper": true, + "findings": true + }, + "reproduce": [ + "python -m org_frontier.questions.q150_ring_chord_integration.probe_ring_chord_integration" + ], + "runtime": "fast" + }, + { + "kind": "question", + "id": "Q151", + "slug": "hub_failure_resilience", + "title": "Hub-failure resilience: redundant mediation protects the triadic verdict, but the cycle is not the reserve", + "question": "", + "finding": "A single hub loses the triadic verdict when it is frozen. A backup hub and a non-hub ring each keep it. The", + "path": "org_frontier/questions/q151_hub_failure_resilience", + "artifacts": { + "review": true, + "hypotheses": true, + "literature": false, + "paper": true, + "findings": true + }, + "reproduce": [ + "python -m org_frontier.questions.q151_hub_failure_resilience.probe_hub_failure_resilience" + ], + "runtime": "fast" + }, + { + "kind": "question", + "id": "Q152", + "slug": "verdict_vs_complex_topology", + "title": "The whole-system verdict and the major complex are not interchangeable diagnostics", + "question": "", + "finding": "The whole-system verdict and major-complex membership disagree on the studied catalog", + "path": "org_frontier/questions/q152_verdict_vs_complex_topology", + "artifacts": { + "review": true, + "hypotheses": true, + "literature": false, + "paper": true, + "findings": true + }, + "reproduce": [ + "python -m org_frontier.questions.q152_verdict_vs_complex_topology.probe_verdict_vs_complex_topology" + ], + "runtime": "slow" + }, + { + "kind": "question", + "id": "Q153", + "slug": "triadic_dyadic_classifier", + "title": "Classifying the triadic-vs-dyadic Φ verdict from CRQA features", + "question": "", + "finding": "CRQA features read from sampled runs do not recover the triadic-vs-dyadic exact-Φ verdict above", + "path": "org_frontier/questions/q153_triadic_dyadic_classifier", + "artifacts": { + "review": true, + "hypotheses": true, + "literature": false, + "paper": true, + "findings": true + }, + "reproduce": [ + "python -m org_frontier.questions.q153_triadic_dyadic_classifier.probe_triadic_dyadic_classifier" + ], + "runtime": "fast" + }, + { + "kind": "question", + "id": "Q154", + "slug": "bottleneck_node_recovery", + "title": "Behavioral centrality misses the structural articulation point", + "question": "", + "finding": "Coupling centrality does not recover the node exact-Φ marks as the form's articulation point. On the", + "path": "org_frontier/questions/q154_bottleneck_node_recovery", + "artifacts": { + "review": true, + "hypotheses": true, + "literature": false, + "paper": true, + "findings": true + }, + "reproduce": [ + "python -m org_frontier.questions.q154_bottleneck_node_recovery.probe_bottleneck_node_recovery" + ], + "runtime": "fast" + }, + { + "kind": "question", + "id": "Q155", + "slug": "mc_membership_threshold", + "title": "A coupling-centrality threshold recovers major-complex membership only weakly, and fails on reciprocal coupling", + "question": "", + "finding": "Coupling centrality carries a real but weak signal for major-complex membership. Pooled over 361", + "path": "org_frontier/questions/q155_mc_membership_threshold", + "artifacts": { + "review": true, + "hypotheses": true, + "literature": false, + "paper": true, + "findings": true + }, + "reproduce": [ + "python -m org_frontier.questions.q155_mc_membership_threshold.probe_mc_membership_threshold" + ], + "runtime": "fast" + }, + { + "kind": "question", + "id": "Q156", + "slug": "interested_mediator_signature", + "title": "A CRQA signature for the interested mediator", + "question": "", + "finding": "Interested and faithful mediators that share a wiring graph and a full {W, S, C} Φ-core do not", + "path": "org_frontier/questions/q156_interested_mediator_signature", + "artifacts": { + "review": true, + "hypotheses": true, + "literature": false, + "paper": true, + "findings": true + }, + "reproduce": [ + "python -m org_frontier.questions.q156_interested_mediator_signature.probe_interested_mediator_signature" + ], + "runtime": "fast" + }, + { + "kind": "question", + "id": "Q157", + "slug": "te_vs_dcrp_direction", + "title": "Transfer entropy reads directed read edges better than the recurrence peak lag", + "question": "", + "finding": "Pairwise transfer entropy recovers the true orientation of a directed read edge far more often", + "path": "org_frontier/questions/q157_te_vs_dcrp_direction", + "artifacts": { + "review": true, + "hypotheses": true, + "literature": false, + "paper": true, + "findings": true + }, + "reproduce": [ + "python -m org_frontier.questions.q157_te_vs_dcrp_direction.probe_te_vs_dcrp_direction" + ], + "runtime": "fast" + }, + { + "kind": "question", + "id": "Q158", + "slug": "phi_magnitude_regression", + "title": "Whole-system recurrence does not track the magnitude of major-complex Φ", + "question": "", + "finding": "Whole-system CRQA measures do not predict the magnitude of exact major-complex Φ across the", + "path": "org_frontier/questions/q158_phi_magnitude_regression", + "artifacts": { + "review": true, + "hypotheses": true, + "literature": false, + "paper": true, + "findings": true + }, + "reproduce": [ + "python -m org_frontier.questions.q158_phi_magnitude_regression.probe_phi_magnitude_regression" + ], + "runtime": "fast" + }, + { + "kind": "question", + "id": "Q159", + "slug": "length_to_verdict_curve", + "title": "How Long a Run a Stable CRQA Verdict Needs", + "question": "", + "finding": "The CRQA triadic/dyadic verdict settles fast. Convergence length does not track Φ magnitude in this", + "path": "org_frontier/questions/q159_length_to_verdict_curve", + "artifacts": { + "review": true, + "hypotheses": true, + "literature": false, + "paper": true, + "findings": true + }, + "reproduce": [ + "python -m org_frontier.questions.q159_length_to_verdict_curve.probe_length_to_verdict_curve" + ], + "runtime": "fast" + }, + { + "kind": "question", + "id": "Q160", + "slug": "five_node_complex_recovery", + "title": "Coupling-centrality recovery of the major complex at five parties", + "question": "", + "finding": "q160", + "path": "org_frontier/questions/q160_five_node_complex_recovery", + "artifacts": { + "review": true, + "hypotheses": true, + "literature": false, + "paper": true, + "findings": true + }, + "reproduce": [ + "python -m org_frontier.questions.q160_five_node_complex_recovery.probe_five_node_complex_recovery" + ], + "runtime": "fast" + }, + { + "kind": "question", + "id": "Q161", + "slug": "noise_robust_verdict", + "title": "Which structural verdict survives update-noise misspecification", + "question": "", + "finding": "Both hypotheses were fixed before computing. Both fail, and the way they fail reverses the", + "path": "org_frontier/questions/q161_noise_robust_verdict", + "artifacts": { + "review": true, + "hypotheses": true, + "literature": false, + "paper": true, + "findings": true + }, + "reproduce": [ + "python -m org_frontier.questions.q161_noise_robust_verdict.probe_noise_robust_verdict" + ], + "runtime": "fast" + }, + { + "kind": "question", + "id": "Q162", + "slug": "feature_ablation_minimal", + "title": "The minimal CRQA feature set for the joint structural verdict", + "question": "", + "finding": "The minimal CRQA feature set for the joint structural verdict keeps whole-system recurrence. On a", + "path": "org_frontier/questions/q162_feature_ablation_minimal", + "artifacts": { + "review": true, + "hypotheses": true, + "literature": false, + "paper": true, + "findings": true + }, + "reproduce": [ + "python -m org_frontier.questions.q162_feature_ablation_minimal.probe_feature_ablation_minimal" + ], + "runtime": "fast" + }, + { + "kind": "question", + "id": "Q163", + "slug": "computationalism_under_agenda", + "title": "Computationalism under an agenda: the interested mediator as a third object", + "question": "", + "finding": "", + "path": "org_frontier/questions/q163_computationalism_under_agenda", + "artifacts": { + "review": true, + "hypotheses": true, + "literature": false, + "paper": true, + "findings": true + }, + "reproduce": [ + "python -m org_frontier.questions.q163_computationalism_under_agenda.probe_computationalism_under_agenda" + ], + "runtime": "fast" + }, + { + "kind": "question", + "id": "Q164", + "slug": "perceivable_agenda_fraction", + "title": "The perceivable agenda: an imposed rule is louder in outcomes than a hidden one", + "question": "", + "finding": "An imposed agenda is more perceivable from outcomes than a merely hidden rule, and it adds marginal-", + "path": "org_frontier/questions/q164_perceivable_agenda_fraction", + "artifacts": { + "review": true, + "hypotheses": true, + "literature": false, + "paper": true, + "findings": true + }, + "reproduce": [ + "python -m org_frontier.questions.q164_perceivable_agenda_fraction.probe_perceivable_agenda_fraction" + ], + "runtime": "fast" + }, + { + "kind": "question", + "id": "Q165", + "slug": "intent_compression_into_agenda", + "title": "Intent compression into an agenda: self-interest steepens embodiment loss", + "question": "", + "finding": "the agenda crowds out the channel for the worker's meaning", + "path": "org_frontier/questions/q165_intent_compression_into_agenda", + "artifacts": { + "review": true, + "hypotheses": true, + "literature": false, + "paper": true, + "findings": true + }, + "reproduce": [ + "python -m org_frontier.questions.q165_intent_compression_into_agenda.probe_intent_compression_into_agenda" + ], + "runtime": "fast" + }, + { + "kind": "question", + "id": "Q166", + "slug": "phantom_addressee_displaced", + "title": "The phantom addressee displaced: when the mediator's agenda becomes the addressee", + "question": "", + "finding": "the addressee becomes the agenda, and the worker drops to referent", + "path": "org_frontier/questions/q166_phantom_addressee_displaced", + "artifacts": { + "review": true, + "hypotheses": true, + "literature": false, + "paper": true, + "findings": true + }, + "reproduce": [ + "python -m org_frontier.questions.q166_phantom_addressee_displaced.probe_phantom_addressee_displaced" + ], + "runtime": "fast" + }, + { + "kind": "question", + "id": "Q167", + "slug": "capture_meets_agenda", + "title": "Capture meets the agenda: interest does not lower the worker's displacement threshold", + "question": "", + "finding": "interest does not simply lower the capture threshold", + "path": "org_frontier/questions/q167_capture_meets_agenda", + "artifacts": { + "review": true, + "hypotheses": true, + "literature": false, + "paper": true, + "findings": true + }, + "reproduce": [ + "python -m org_frontier.questions.q167_capture_meets_agenda.probe_capture_meets_agenda" + ], + "runtime": "fast" + }, + { + "kind": "question", + "id": "Q168", + "slug": "opacity_floor_under_agenda", + "title": "The opacity floor under an agenda: does interest raise the worker's surprise floor?", + "question": "", + "finding": "", + "path": "org_frontier/questions/q168_opacity_floor_under_agenda", + "artifacts": { + "review": true, + "hypotheses": true, + "literature": false, + "paper": true, + "findings": true + }, + "reproduce": [ + "python -m org_frontier.questions.q168_opacity_floor_under_agenda.probe_opacity_floor_under_agenda" + ], + "runtime": "fast" + }, + { + "kind": "question", + "id": "Q169", + "slug": "lagging_objective_prediction_lag", + "title": "A Lagging Objective Lets the Displaced Worker's Model Track the Platform", + "question": "", + "finding": "the lagging objective lets the worker's model track the platform better", + "path": "org_frontier/questions/q169_lagging_objective_prediction_lag", + "artifacts": { + "review": true, + "hypotheses": true, + "literature": false, + "paper": true, + "findings": true + }, + "reproduce": [ + "python -m org_frontier.questions.q169_lagging_objective_prediction_lag.probe_lagging_objective_prediction_lag" + ], + "runtime": "fast" + }, + { + "kind": "question", + "id": "Q170", + "slug": "extracting_platform_tracking", + "title": "Does the worker's generative model track an extracting platform?", + "question": "", + "finding": "the worker tracks an extractor worse, and worst where extraction equalizes", + "path": "org_frontier/questions/q170_extracting_platform_tracking", + "artifacts": { + "review": true, + "hypotheses": true, + "literature": false, + "paper": true, + "findings": true + }, + "reproduce": [ + "python -m org_frontier.questions.q170_extracting_platform_tracking.probe_extracting_platform_tracking" + ], + "runtime": "fast" + }, + { + "kind": "question", + "id": "Q171", + "slug": "drift_binding_with_agenda", + "title": "Drift Binding with an Agenda: Whether the Two Opacities Stack", + "question": "", + "finding": "The two opacities do not stack. Both hypotheses about how drift and interest combine were fixed before", + "path": "org_frontier/questions/q171_drift_binding_with_agenda", + "artifacts": { + "review": true, + "hypotheses": true, + "literature": false, + "paper": true, + "findings": true + }, + "reproduce": [ + "python -m org_frontier.questions.q171_drift_binding_with_agenda.probe_drift_binding_with_agenda" + ], + "runtime": "fast" + }, + { + "kind": "question", + "id": "Q172", + "slug": "facet_difficulty_under_interest", + "title": "Where interest concentrates: a facet signature, not a uniform tax", + "question": "", + "finding": "Interest does not tax every facet equally, and it does not tax the facets the survey scale names", + "path": "org_frontier/questions/q172_facet_difficulty_under_interest", + "artifacts": { + "review": true, + "hypotheses": true, + "literature": false, + "paper": true, + "findings": true + }, + "reproduce": [ + "python -m org_frontier.questions.q172_facet_difficulty_under_interest.probe_facet_difficulty_under_interest" + ], + "runtime": "fast" + }, + { + "kind": "question", + "id": "Q173", + "slug": "build_rule_to_phi", + "title": "A rule-to-Φ field bridge with a coder-disagreement confidence interval", + "question": "", + "finding": "The field bridge `org_frontier/field/rule_to_phi.py` encodes per-party coded determination rules", + "path": "org_frontier/questions/q173_build_rule_to_phi", + "artifacts": { + "review": true, + "hypotheses": true, + "literature": false, + "paper": true, + "findings": true + }, + "reproduce": [ + "python -m org_frontier.questions.q173_build_rule_to_phi.probe_build_rule_to_phi" + ], + "runtime": "fast" + }, + { + "kind": "question", + "id": "Q174", + "slug": "alpha_phi_width", + "title": "Propagated Φ confidence-interval width as a read of coder disagreement", + "question": "", + "finding": "CI width tracks coder agreement, and a stable agreement floor turns the verdict indeterminate", + "path": "org_frontier/questions/q174_alpha_phi_width", + "artifacts": { + "review": true, + "hypotheses": true, + "literature": false, + "paper": true, + "findings": true + }, + "reproduce": [ + "python -m org_frontier.questions.q174_alpha_phi_width.probe_alpha_phi_width" + ], + "runtime": "fast" + }, + { + "kind": "question", + "id": "Q175", + "slug": "substitutability_flipper", + "title": "The substitutability flipper: coding a worker as interchangeable dissolves the triad", + "question": "", + "finding": "Coding the worker as one slot in an interchangeable pool flips the exact-Φ verdict from triadic to", + "path": "org_frontier/questions/q175_substitutability_flipper", + "artifacts": { + "review": true, + "hypotheses": true, + "literature": false, + "paper": true, + "findings": true + }, + "reproduce": [ + "python -m org_frontier.questions.q175_substitutability_flipper.probe_substitutability_flipper" + ], + "runtime": "fast" + }, + { + "kind": "question", + "id": "Q176", + "slug": "passthrough_flipper", + "title": "The pass-through flip and the rule the verdict is most sensitive to", + "question": "", + "finding": "The pass-through flip does not universally collapse the verdict, and the system's", + "path": "org_frontier/questions/q176_passthrough_flipper", + "artifacts": { + "review": true, + "hypotheses": true, + "literature": false, + "paper": true, + "findings": true + }, + "reproduce": [ + "python -m org_frontier.questions.q176_passthrough_flipper.probe_passthrough_flipper" + ], + "runtime": "fast" + }, + { + "kind": "question", + "id": "Q177", + "slug": "spectator_complex", + "title": "Idle spectators sink whole-system Φ; the major complex keeps the triadic core", + "question": "", + "finding": "an idle spectator sinks whole-system Φ but leaves the major complex untouched", + "path": "org_frontier/questions/q177_spectator_complex", + "artifacts": { + "review": true, + "hypotheses": true, + "literature": false, + "paper": true, + "findings": true + }, + "reproduce": [ + "python -m org_frontier.questions.q177_spectator_complex.probe_spectator_complex" + ], + "runtime": "fast" + }, + { + "kind": "question", + "id": "Q178", + "slug": "bit_grain_sensitivity", + "title": "The Bit Cut on a Graded Action Is Verdict-Bearing", + "question": "", + "finding": "Collapsing a graded coded action to one bit at different cut points changes the structural Φ", + "path": "org_frontier/questions/q178_bit_grain_sensitivity", + "artifacts": { + "review": true, + "hypotheses": true, + "literature": false, + "paper": true, + "findings": true + }, + "reproduce": [ + "python -m org_frontier.questions.q178_bit_grain_sensitivity.probe_bit_grain_sensitivity" + ], + "runtime": "fast" + }, + { + "kind": "question", + "id": "Q179", + "slug": "time_grain_sensitivity", + "title": "The update time-grain is a coding choice that moves the Φ verdict", + "question": "", + "finding": "the update time-grain changes the verdict, and the flip is predictable", + "path": "org_frontier/questions/q179_time_grain_sensitivity", + "artifacts": { + "review": true, + "hypotheses": true, + "literature": false, + "paper": true, + "findings": true + }, + "reproduce": [ + "python -m org_frontier.questions.q179_time_grain_sensitivity.probe_time_grain_sensitivity" + ], + "runtime": "fast" + }, + { + "kind": "question", + "id": "Q180", + "slug": "individuation_boundary", + "title": "Individuation and the Party Boundary", + "question": "", + "finding": "Where the coder draws the party boundary moves the Phi verdict. Splitting a coded party flips the", + "path": "org_frontier/questions/q180_individuation_boundary", + "artifacts": { + "review": true, + "hypotheses": true, + "literature": false, + "paper": true, + "findings": true + }, + "reproduce": [ + "python -m org_frontier.questions.q180_individuation_boundary.probe_individuation_boundary" + ], + "runtime": "fast" + }, + { + "kind": "question", + "id": "Q181", + "slug": "flipper_interaction", + "title": "Two flippers at once: redundancy, not interaction", + "question": "", + "finding": "The two flippers do not interact to restore irreducibility, and their coding", + "path": "org_frontier/questions/q181_flipper_interaction", + "artifacts": { + "review": true, + "hypotheses": true, + "literature": false, + "paper": true, + "findings": true + }, + "reproduce": [ + "python -m org_frontier.questions.q181_flipper_interaction.probe_flipper_interaction" + ], + "runtime": "fast" + }, + { + "kind": "question", + "id": "Q182", + "slug": "adversarial_coding", + "title": "Adversarial coding against the agreement-weighted Φ confidence interval", + "question": "", + "finding": "An adversary restricted to evidence-permitted readings forces the point verdict at will, and the", + "path": "org_frontier/questions/q182_adversarial_coding", + "artifacts": { + "review": true, + "hypotheses": true, + "literature": false, + "paper": true, + "findings": true + }, + "reproduce": [ + "python -m org_frontier.questions.q182_adversarial_coding.probe_adversarial_coding" + ], + "runtime": "fast" + }, + { + "kind": "question", + "id": "Q183", + "slug": "build_disagreement_bridge", + "title": "A Φ-spread bridge for two divergent party accounts of one coordination", + "question": "", + "finding": "The bridge module `org_frontier/qualitative/disagreement_phi.py` reads two party accounts of one", + "path": "org_frontier/questions/q183_build_disagreement_bridge", + "artifacts": { + "review": true, + "hypotheses": true, + "literature": false, + "paper": true, + "findings": true + }, + "reproduce": [ + "python -m org_frontier.questions.q183_build_disagreement_bridge.probe_build_disagreement_bridge" + ], + "runtime": "fast" + }, + { + "kind": "question", + "id": "Q184", + "slug": "gig_dispatch_spread", + "title": "Φ spread between a driver's suggestion and a platform's commit account of dispatch", + "question": "", + "finding": "The driver and the platform give two accounts of one dispatch. The driver's suggestion account", + "path": "org_frontier/questions/q184_gig_dispatch_spread", + "artifacts": { + "review": true, + "hypotheses": true, + "literature": false, + "paper": true, + "findings": true + }, + "reproduce": [ + "python -m org_frontier.questions.q184_gig_dispatch_spread.probe_gig_dispatch_spread" + ], + "runtime": "fast" + }, + { + "kind": "question", + "id": "Q185", + "slug": "ats_commit_convey_spread", + "title": "Commit and convey on one wiring diagram: a disagreement-Φ spread in algorithmic hiring", + "question": "", + "finding": "The disagreement-Φ spread separates the candidate's commit account from the manager's convey", + "path": "org_frontier/questions/q185_ats_commit_convey_spread", + "artifacts": { + "review": true, + "hypotheses": true, + "literature": false, + "paper": true, + "findings": true + }, + "reproduce": [ + "python -m org_frontier.questions.q185_ats_commit_convey_spread.probe_ats_commit_convey_spread" + ], + "runtime": "fast" + }, + { + "kind": "question", + "id": "Q186", + "slug": "spread_decomposition_law", + "title": "Three spread components vary independently across an account-pair census", + "question": "", + "finding": "The three spread components carry separate information across the synthetic census. They do not", + "path": "org_frontier/questions/q186_spread_decomposition_law", + "artifacts": { + "review": true, + "hypotheses": true, + "literature": false, + "paper": true, + "findings": true + }, + "reproduce": [ + "python -m org_frontier.questions.q186_spread_decomposition_law.probe_spread_decomposition_law" + ], + "runtime": "fast" + }, + { + "kind": "question", + "id": "Q187", + "slug": "moderation_oversight_spread", + "title": "Where Two Accounts of a Takedown Disagree: Localizing the Policy Team in the Phi Spread", + "question": "", + "finding": "Two accounts of one takedown coordination, differing only in the policy team's rule, were", + "path": "org_frontier/questions/q187_moderation_oversight_spread", + "artifacts": { + "review": true, + "hypotheses": true, + "literature": false, + "paper": true, + "findings": true + }, + "reproduce": [ + "python -m org_frontier.questions.q187_moderation_oversight_spread.probe_moderation_oversight_spread" + ], + "runtime": "fast" + }, + { + "kind": "question", + "id": "Q188", + "slug": "handoff_directionality_spread", + "title": "Handoff Directionality Spread: When Narrated Reciprocity Moves the Phi Verdict", + "question": "", + "finding": "The two narrations of one handoff read as different structures. The outgoing clinician's one-way", + "path": "org_frontier/questions/q188_handoff_directionality_spread", + "artifacts": { + "review": true, + "hypotheses": true, + "literature": false, + "paper": true, + "findings": true + }, + "reproduce": [ + "python -m org_frontier.questions.q188_handoff_directionality_spread.probe_handoff_directionality_spread" + ], + "runtime": "fast" + }, + { + "kind": "question", + "id": "Q189", + "slug": "peer_review_veto_spread", + "title": "The Editor's Core Membership in Dispute: A Gate/Conduit Spread", + "question": "", + "finding": "The gate and conduit accounts read the same whole-system verdict (both triadic, max_phi = 2.0,", + "path": "org_frontier/questions/q189_peer_review_veto_spread", + "artifacts": { + "review": true, + "hypotheses": true, + "literature": false, + "paper": true, + "findings": true + }, + "reproduce": [ + "python -m org_frontier.questions.q189_peer_review_veto_spread.probe_peer_review_veto_spread" + ], + "runtime": "fast" + }, + { + "kind": "question", + "id": "Q190", + "slug": "spread_robustness_noise", + "title": "Is the disagreement-Φ spread robust to elicitation noise?", + "question": "", + "finding": "The disagreement-Φ spread survives synthetic elicitation noise. Under bounded Bernoulli jitter on", + "path": "org_frontier/questions/q190_spread_robustness_noise", + "artifacts": { + "review": true, + "hypotheses": true, + "literature": false, + "paper": true, + "findings": true + }, + "reproduce": [ + "python -m org_frontier.questions.q190_spread_robustness_noise.probe_spread_robustness_noise" + ], + "runtime": "fast" + }, + { + "kind": "question", + "id": "Q191", + "slug": "triage_spectator_spread", + "title": "Φ spread between an agent's party account and a system's spectator account of a triage", + "question": "", + "finding": "An agent and a system give two accounts of one triage. The agent counts a monitoring supervisor a", + "path": "org_frontier/questions/q191_triage_spectator_spread", + "artifacts": { + "review": true, + "hypotheses": true, + "literature": false, + "paper": true, + "findings": true + }, + "reproduce": [ + "python -m org_frontier.questions.q191_triage_spectator_spread.probe_triage_spectator_spread" + ], + "runtime": "fast" + }, + { + "kind": "question", + "id": "Q192", + "slug": "spread_reconciliation_cost", + "title": "Reconciliation cost: edit distance between two accounts and the Φ spread", + "question": "", + "finding": "Two accounts of one coordination are reconciled by single-rule edits. The reconcile routine runs", + "path": "org_frontier/questions/q192_spread_reconciliation_cost", + "artifacts": { + "review": true, + "hypotheses": true, + "literature": false, + "paper": true, + "findings": true + }, + "reproduce": [ + "python -m org_frontier.questions.q192_spread_reconciliation_cost.probe_spread_reconciliation_cost" + ], + "runtime": "fast" + }, + { + "kind": "question", + "id": "Q193", + "slug": "phi_bridge_build", + "title": "A per-worker Φ coordination measure for the algorithmacy panel", + "question": "", + "finding": "A per-worker Φ-based coordination measure can be derived from each simulated worker's coordination form,", + "path": "org_frontier/questions/q193_phi_bridge_build", + "artifacts": { + "review": true, + "hypotheses": true, + "literature": false, + "paper": true, + "findings": true + }, + "reproduce": [ + "python -m org_frontier.questions.q193_phi_bridge_build.probe_phi_bridge_build" + ], + "runtime": "fast" + }, + { + "kind": "question", + "id": "Q194", + "slug": "phi_facet_specificity", + "title": "Facet specificity: a partition-restricted Φ for counterpart inference", + "question": "", + "finding": "The exact-Φ coordination measure predicts the three ACS facets differentially, and a", + "path": "org_frontier/questions/q194_phi_facet_specificity", + "artifacts": { + "review": true, + "hypotheses": true, + "literature": false, + "paper": true, + "findings": true + }, + "reproduce": [ + "python -m org_frontier.questions.q194_phi_facet_specificity.probe_phi_facet_specificity" + ], + "runtime": "fast" + }, + { + "kind": "question", + "id": "Q195", + "slug": "phi_incremental_over_se", + "title": "Discriminant validity of the Φ bridge: incremental association over self-efficacy and belonging", + "question": "", + "finding": "On the simulated cohort Φ_coord carries association with ACS-total that survives controlling for", + "path": "org_frontier/questions/q195_phi_incremental_over_se", + "artifacts": { + "review": true, + "hypotheses": true, + "literature": false, + "paper": true, + "findings": true + }, + "reproduce": [ + "python -m org_frontier.questions.q195_phi_incremental_over_se.probe_phi_incremental_over_se" + ], + "runtime": "fast" + }, + { + "kind": "question", + "id": "Q196", + "slug": "phi_commit_moderation", + "title": "Φ_coord predicts algorithmacy more where the system commits", + "question": "", + "finding": "The Φ_coord-to-ACS association strengthens under perceived system commitment. In the commit cohort,", + "path": "org_frontier/questions/q196_phi_commit_moderation", + "artifacts": { + "review": true, + "hypotheses": true, + "literature": false, + "paper": true, + "findings": true + }, + "reproduce": [ + "python -m org_frontier.questions.q196_phi_commit_moderation.probe_phi_commit_moderation" + ], + "runtime": "fast" + }, + { + "kind": "question", + "id": "Q197", + "slug": "phi_invariance_waves", + "title": "Invariance of the Φ_coord-to-ACS bridge across panel waves", + "question": "", + "finding": "The Φ_coord-to-ACS bridge holds metric and scalar invariance across the three simulated panel waves. A", + "path": "org_frontier/questions/q197_phi_invariance_waves", + "artifacts": { + "review": true, + "hypotheses": true, + "literature": false, + "paper": true, + "findings": true + }, + "reproduce": [ + "python -m org_frontier.questions.q197_phi_invariance_waves.probe_phi_invariance_waves" + ], + "runtime": "fast" + }, + { + "kind": "question", + "id": "Q198", + "slug": "phi_predicts_growth", + "title": "Baseline Φ_coord predicts the algorithmacy growth slope in the simulated panel", + "question": "", + "finding": "On the simulated panel, a worker's baseline (W1) Φ_coord predicts the individual latent ACS-growth slope", + "path": "org_frontier/questions/q198_phi_predicts_growth", + "artifacts": { + "review": true, + "hypotheses": true, + "literature": false, + "paper": true, + "findings": true + }, + "reproduce": [ + "python -m org_frontier.questions.q198_phi_predicts_growth.probe_phi_predicts_growth" + ], + "runtime": "fast" + }, + { + "kind": "question", + "id": "Q199", + "slug": "phi_growth_mechanism", + "title": "Φ_coord moves with the construct within a person across waves", + "question": "", + "finding": "On the simulated panel, within-person change in Φ_coord tracks within-person change in algorithmacy. A", + "path": "org_frontier/questions/q199_phi_growth_mechanism", + "artifacts": { + "review": true, + "hypotheses": true, + "literature": false, + "paper": true, + "findings": true + }, + "reproduce": [ + "python -m org_frontier.questions.q199_phi_growth_mechanism.probe_phi_growth_mechanism" + ], + "runtime": "fast" + }, + { + "kind": "question", + "id": "Q200", + "slug": "phi_bifactor_loadings", + "title": "Φ_coord loads on the general algorithmacy factor, not a specific facet", + "question": "", + "finding": "On the simulated W2 cohort, Φ_coord loads on the general algorithmacy factor, not on a specific facet", + "path": "org_frontier/questions/q200_phi_bifactor_loadings", + "artifacts": { + "review": true, + "hypotheses": true, + "literature": false, + "paper": true, + "findings": true + }, + "reproduce": [ + "python -m org_frontier.questions.q200_phi_bifactor_loadings.probe_phi_bifactor_loadings" + ], + "runtime": "fast" + }, + { + "kind": "question", + "id": "Q201", + "slug": "phi_substitutability_capture", + "title": "substitutability degrades Φ_coord and captures algorithmacy", + "question": "", + "finding": "Substitutability degrades Φ_coord, and the degraded Φ_coord captures the substitutability-to-", + "path": "org_frontier/questions/q201_phi_substitutability_capture", + "artifacts": { + "review": true, + "hypotheses": true, + "literature": false, + "paper": true, + "findings": true + }, + "reproduce": [ + "python -m org_frontier.questions.q201_phi_substitutability_capture.probe_phi_substitutability_capture" + ], + "runtime": "fast" + }, + { + "kind": "question", + "id": "Q202", + "slug": "phi_bridge_falsification", + "title": "Does the Φ-bridge survive its own falsification battery?", + "question": "", + "finding": "The Φ-bridge survives the worker-form-shuffle null in both simulated cohorts, and exact Φ adds", + "path": "org_frontier/questions/q202_phi_bridge_falsification", + "artifacts": { + "review": true, + "hypotheses": true, + "literature": false, + "paper": true, + "findings": true + }, + "reproduce": [ + "python -m org_frontier.questions.q202_phi_bridge_falsification.probe_phi_bridge_falsification" + ], + "runtime": "fast" + }, + { + "kind": "question", + "id": "Q203", + "slug": "real_coordination_coupling", + "title": "Reading a real coordination four ways", + "question": "", + "finding": "the lab's first real coordination, read four ways", + "path": "org_frontier/questions/q203_real_coordination_coupling", + "artifacts": { + "review": true, + "hypotheses": true, + "literature": false, + "paper": true, + "findings": true + }, + "reproduce": [ + "python -m org_frontier.questions.q203_real_coordination_coupling.probe_real_coordination_coupling" + ], + "runtime": "fast" + }, + { + "kind": "question", + "id": "Q204", + "slug": "phi_on_real_coordination", + "title": "Exact Φ on a real coordination, decided by the coding", + "question": "", + "finding": "exact Φ on a real coordination, decided by the coding", + "path": "org_frontier/questions/q204_phi_on_real_coordination", + "artifacts": { + "review": true, + "hypotheses": true, + "literature": false, + "paper": true, + "findings": true + }, + "reproduce": [ + "python -m org_frontier.questions.q204_phi_on_real_coordination.probe_phi_on_real_coordination" + ], + "runtime": "fast" + }, + { + "kind": "question", + "id": "Q205", + "slug": "latency_feedback", + "title": "Representing the delay: when one-step Φ misses lagged coordination", + "question": "When a mediator's effect on the parties arrives after a delay, does exact one-step Φ still read the coordination as integrated, and does the answer depend on whether the delay is given its own node?", + "finding": "The integrated conjunctive triad keeps its triadic verdict when a one-step delay is inserted as a buffer", + "path": "org_frontier/questions/q205_latency_feedback", + "artifacts": { + "review": true, + "hypotheses": true, + "literature": false, + "paper": true, + "findings": true + }, + "reproduce": [ + "python -m org_frontier.questions.q205_latency_feedback.probe_latency_feedback" + ], + "runtime": "fast" + }, + { + "kind": "question", + "id": "Q206", + "slug": "ring_parity_rewire", + "title": "Coupling sets the rewiring response: a parity ring resists what a conjunctive ring cannot", + "question": "Under Watts-Strogatz rewiring of a six-node ring, does a parity (XOR) coupling decline and factor the same way a conjunctive (AND) coupling does, and where exactly does the verdict turn dyadic?", + "finding": "Six-node rings under in-degree-2 Watts-Strogatz rewiring, exact IIT-4.0 Φ_MIP. Conjunctive (AND) ring on", + "path": "org_frontier/questions/q206_ring_parity_rewire", + "artifacts": { + "review": true, + "hypotheses": true, + "literature": false, + "paper": true, + "findings": true + }, + "reproduce": [ + "python -m org_frontier.questions.q206_ring_parity_rewire.probe_ring_parity_rewire --ci" + ], + "runtime": "fast" + }, + { + "kind": "question", + "id": "Q207", + "slug": "slow_mediator", + "title": "Commit rate, not arrival time: a half-rate mediator factors the triad", + "question": "When the mediator recomputes its commitment only every second step while the parties update every step, does the major complex still hold the worker–system–counterpart triad, or does the slower mediator let the coordination factor?", + "finding": "Small deterministic Boolean forms, exact IIT-4.0 Φ. The mediator's update rate is slowed with a gating", + "path": "org_frontier/questions/q207_slow_mediator", + "artifacts": { + "review": true, + "hypotheses": true, + "literature": false, + "paper": true, + "findings": true + }, + "reproduce": [ + "python -m org_frontier.questions.q207_slow_mediator.probe_slow_mediator" + ], + "runtime": "fast" + }, + { + "kind": "question", + "id": "Q208", + "slug": "latency_depth", + "title": "Represented delay is benign: the single-buffer anomaly and the recovery of full integration", + "question": "As the mediator's feedback to the parties is delayed by k explicit buffer nodes, does the triad stay irreducible at every depth, and how does its integration scale with k?", + "finding": "The conjunctive triad with a delay line of k buffers on the mediator's feedback path, swept k = 0, 1, 2, 3", + "path": "org_frontier/questions/q208_latency_depth", + "artifacts": { + "review": true, + "hypotheses": true, + "literature": false, + "paper": true, + "findings": true + }, + "reproduce": [ + "python -m org_frontier.questions.q208_latency_depth.probe_latency_depth --ci" + ], + "runtime": "fast" + }, + { + "kind": "question", + "id": "Q209", + "slug": "commit_period", + "title": "Only synchronous commitment binds: the commit-period sweep", + "question": "q207 showed a mediator that recomputes every second step factors the triad. Does the triad factor at every commit period p ≥ 2, so that synchronous (p=1) commitment is the unique binding cadence, and how does the surviving counter's integration scale with the period?", + "finding": "The conjunctive triad with its mediator gated by a mod-p counter, swept the commit period p = 1, 2, 3, 4", + "path": "org_frontier/questions/q209_commit_period", + "artifacts": { + "review": true, + "hypotheses": true, + "literature": false, + "paper": true, + "findings": true + }, + "reproduce": [ + "python -m org_frontier.questions.q209_commit_period.probe_commit_period" + ], + "runtime": "fast" + }, + { + "kind": "question", + "id": "Q210", + "slug": "shared_counterpart", + "title": "A shared counterpart does not merge two triads", + "question": "Two conjunctive triads share one counterpart node. Does the major complex span both triads as a single irreducible core, or stay two separate cores, and how does that depend on how strongly the shared counterpart bridges the two mediators?", + "finding": "Two conjunctive triads sharing one counterpart C, with the counterpart's update bridging the two mediators", + "path": "org_frontier/questions/q210_shared_counterpart", + "artifacts": { + "review": true, + "hypotheses": true, + "literature": false, + "paper": true, + "findings": true + }, + "reproduce": [ + "python -m org_frontier.questions.q210_shared_counterpart.probe_shared_counterpart" + ], + "runtime": "fast" + }, + { + "kind": "question", + "id": "Q211", + "slug": "direct_mediator_channel", + "title": "A direct mediator channel merges two triads", + "question": "When two complete conjunctive triads are joined only by a direct channel between their two mediators, does the major complex merge into one core that spans both triads, in the way a single shared counterpart did not?", + "finding": "Two complete conjunctive triads, joined only by a direct channel between their two mediators (S1 reads S2,", + "path": "org_frontier/questions/q211_direct_mediator_channel", + "artifacts": { + "review": true, + "hypotheses": true, + "literature": false, + "paper": true, + "findings": true + }, + "reproduce": [ + "python -m org_frontier.questions.q211_direct_mediator_channel.probe_direct_mediator_channel" + ], + "runtime": "fast" + }, + { + "kind": "question", + "id": "Q212", + "slug": "channel_location", + "title": "The merging channel must run between the mediators", + "question": "q211 merged two triads with a direct channel between their mediators. Does the merger depend on the channel running mediator-to-mediator, or does a direct cross-triad link at any homologous node pair — worker-to-worker, counterpart-to-counterpart — merge the two triads just as well?", + "finding": "The same single AND cross-triad channel moved across three homologous node pairs — mediator (the q211", + "path": "org_frontier/questions/q212_channel_location", + "artifacts": { + "review": true, + "hypotheses": true, + "literature": false, + "paper": true, + "findings": true + }, + "reproduce": [ + "python -m org_frontier.questions.q212_channel_location.probe_channel_location" + ], + "runtime": "fast" + }, + { + "kind": "question", + "id": "Q213", + "slug": "contingent_irreducibility", + "title": "Contingent irreducibility: a party held in the core by a constraint, not a role", + "question": "A triad's mediator can be a conduit that relays and does no integrating, the kind the lab's constitutive law says factors out. Yet some such mediators sit in the irreducible core anyway, because an external constraint forbids the parties from reaching each other directly", + "finding": "A new category of irreducibility and a reusable instrument to detect it. A mediator can sit in a triad's core", + "path": "org_frontier/questions/q213_contingent_irreducibility", + "artifacts": { + "review": true, + "hypotheses": true, + "literature": false, + "paper": true, + "findings": true + }, + "reproduce": [ + "python -m org_frontier.questions.q213_contingent_irreducibility.probe_contingent_irreducibility" + ], + "runtime": "fast" + }, + { + "kind": "question", + "id": "Q214", + "slug": "triadic_classification", + "title": "A formal criterion for a verbal distinction: classifying the literature's triad types", + "question": "The scholarship on triadic relationships names many kinds of third party — Simmel's mediator and tertius gaudens, Obstfeld's conduit / gaudens / iungens, Gould and Fernandez's five brokerage roles, Burt's structural-hole broker, the two-sided platform. Each distinction is drawn verbally", + "finding": "The canonical triad types of the brokerage, sociology, and economics literature, classified by the q213", + "path": "org_frontier/questions/q214_triadic_classification", + "artifacts": { + "review": true, + "hypotheses": true, + "literature": true, + "paper": true, + "findings": true + }, + "reproduce": [ + "python -m org_frontier.questions.q214_triadic_classification.probe_triadic_classification" + ], + "runtime": "fast" + }, + { + "kind": "question", + "id": "Q215", + "slug": "phi_family_robustness", + "title": "phi family robustness", + "question": "", + "finding": "binding is measure-robust; the subtle factorings belong to IIT 4.0", + "path": "org_frontier/questions/q215_phi_family_robustness", + "artifacts": { + "review": false, + "hypotheses": true, + "literature": false, + "paper": false, + "findings": true + }, + "reproduce": [ + "python -m org_frontier.questions.q215_phi_family_robustness.probe_phi_family_robustness" + ], + "runtime": "fast" + }, + { + "kind": "question", + "id": "Q216", + "slug": "robot_shared_control", + "title": "robot shared control", + "question": "", + "finding": "q216 robot shared control", + "path": "org_frontier/questions/q216_robot_shared_control", + "artifacts": { + "review": false, + "hypotheses": true, + "literature": false, + "paper": false, + "findings": true + }, + "reproduce": [ + "python -m org_frontier.questions.q216_robot_shared_control.probe_robot_shared_control" + ], + "runtime": "fast" + }, + { + "kind": "question", + "id": "Q217", + "slug": "rotating_chair", + "title": "The rotating chair: preserved integration and a moving veto", + "question": "When the mediator role passes among the parties on a clock (the current chair aggregates the others and the others copy the chair), does the coordination keep its irreducible core, and which parties hold the veto?", + "finding": "A rotating chair moves the veto between successive chairs while peak party-core integration and state coverage stay unchanged", + "path": "org_frontier/questions/q217_rotating_chair", + "artifacts": { + "review": true, + "hypotheses": true, + "literature": false, + "paper": true, + "findings": true + }, + "reproduce": [ + "python -m org_frontier.questions.q217_rotating_chair.probe_453_rotating_chair", + "python -m org_frontier.questions.q217_rotating_chair.probe_454_rotating_chair_n4", + "python -m org_frontier.questions.q217_rotating_chair.probe_455_rotating_chair_ext", + "python -m org_frontier.questions.q217_rotating_chair.probe_456_per_state_veto" + ], + "runtime": "fast" + }, + { + "kind": "question", + "id": "Q218", + "slug": "chicken_egg_feed", + "title": "The Chicken-and-Egg Feed: First Causes, Loops, and Φ in Stylized Post Spread", + "question": "When a celebrity's controversial post spreads, is the arrangement a one-way chain with a clear first cause (dyadic: it factors, Φ = 0) or does an engagement-ranked feed that reacts to the audience, and an audience that reacts to the feed, form a mutual-dependence loop in which no part comes first (triadic: irreducible, Φ > 0, algorithmacy)? Which ingredient decides it: the algorithm, the…", + "finding": "no first cause needs a loop, but a loop is not enough; the engagement feed with look-alike fans factors", + "path": "org_frontier/questions/q218_chicken_egg_feed", + "artifacts": { + "review": true, + "hypotheses": true, + "literature": true, + "paper": true, + "findings": true + }, + "reproduce": [ + "python -m org_frontier.questions.q218_chicken_egg_feed.probe_chicken_egg_feed" + ], + "runtime": "fast" + }, + { + "kind": "question", + "id": "Q219", + "slug": "insurance_claim_adjudication", + "title": "Who decides an insurance claim? An exact-Φ reading of claimant, engine, and adjuster", + "question": "When a claimant (C) files a claim that an auto-adjudication engine (E) screens and a human adjuster (A) may review, which wiring of the three makes the claim decision an irreducible three-party determination (triadic), and which lets it factor into a pair plus a bystander (dyadic)?", + "finding": "who decides an insurance claim?", + "path": "org_frontier/questions/q219_insurance_claim_adjudication", + "artifacts": { + "review": true, + "hypotheses": true, + "literature": true, + "paper": true, + "findings": true + }, + "reproduce": [ + "python -m org_frontier.questions.q219_insurance_claim_adjudication.probe_458_pipe", + "python -m org_frontier.questions.q219_insurance_claim_adjudication.probe_459_gated", + "python -m org_frontier.questions.q219_insurance_claim_adjudication.probe_460_loop", + "python -m org_frontier.questions.q219_insurance_claim_adjudication.probe_461_liveness" + ], + "runtime": "fast" + }, + { + "kind": "question", + "id": "Q220", + "slug": "observation_process_robustness", + "title": "Observation-process robustness of the CRQA structural verdict (q220)", + "question": "", + "finding": "True-lag pairing is non-inferior to clean CRQA (margin 0.10) after random loss on curated forms; its edge over gap-closing is fragile", + "path": "org_frontier/questions/q220_observation_process_robustness", + "artifacts": { + "review": true, + "hypotheses": true, + "literature": true, + "paper": true, + "findings": true + }, + "reproduce": [ + "python -m org_frontier.questions.q220_observation_process_robustness.probe_observation_process_robustness" + ], + "runtime": "fast" + }, + { + "kind": "probe", + "id": "#1", + "concept": "Collective action in the triad", + "hypothesis": "Counterpart coalition pulls the core to {C1,C2} and ejects the worker", + "verdict": "H1 supported", + "result": "With a direct C1↔C2 channel the major complex becomes {C1,C2} (Φ=2.0); the worker drops out and the whole system factors. Counterpart solidarity dissolves the worker's triadic bind. probe_coalition.py", + "path": "org_frontier/probes/probe_coalition.py", + "reproduce": [ + "python -m org_frontier.probes.probe_coalition" + ], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#2", + "concept": "Intent compression (translational)", + "hypothesis": "Compression removes intent dimensions from the core", + "verdict": "H2 supported, refined", + "result": "An intent bit the determination drops leaves the core (compressed: W2 out). Redundant (OR) reading drops both bits; only a pivotal reading (XOR) keeps each in. Footprint = dimensions made pivotal, not merely read. probe_compression.py", + "path": "org_frontier/probes/probe_compression.py", + "reproduce": [ + "python -m org_frontier.probes.probe_compression" + ], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#3", + "concept": "Temporal-tracking (regime switch)", + "hypothesis": "A switching rule pulls the regime node into the core", + "verdict": "H3 refuted", + "result": "A switching rule does NOT integrate the regime. An exogenous rule-clock stays a spectator (emit-only); an outcome-tracking regime destabilizes the core (Φ 2.0→0.28, worker drops out). Temporal-tracking is a worker competency, not a structural property of the form — consistent with the dissertation's worker-level framing. probe_regime.py", + "path": "org_frontier/probes/probe_regime.py", + "reproduce": [ + "python -m org_frontier.probes.probe_regime" + ], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#4", + "concept": "Inferential (folk-theory node)", + "hypothesis": "A used inference joins the core", + "verdict": "H4 supported, striking", + "result": "An unused inference is a sink (out). A blended inference (W'=S∧M) joins the core as {W,S,M} and displaces the actual counterpart C. Acting purely on the model (W'=M) decouples the worker. The worker coordinates with its model of the other, not the other. probe_inference.py", + "path": "org_frontier/probes/probe_inference.py", + "reproduce": [ + "python -m org_frontier.probes.probe_inference" + ], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#5", + "concept": "Signal asymmetry (scope cond.)", + "hypothesis": "Both parties need feedback; one-sided collapses it", + "verdict": "H5 supported", + "result": "Symmetric feedback → triadic {W,S,C}. One-sided feedback drops the no-feedback party (worker-only → {W,S}; counterpart-only → {S,C}). An emit-only party leaves the core. probe_asymmetry.py", + "path": "org_frontier/probes/probe_asymmetry.py", + "reproduce": [ + "python -m org_frontier.probes.probe_asymmetry" + ], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#6", + "concept": "Exit option (Hirschman)", + "hypothesis": "An absorbing exit erodes the triad", + "verdict": "H6 partial", + "result": "An absorbing exit erodes the counterpart's core membership (core → {W,S} in exited states). The reversible-reentry form is confounded — it accidentally adds a W→C back-channel, so its collapse is not a clean exit result. Flagged, not claimed. probe_exit.py", + "path": "org_frontier/probes/probe_exit.py", + "reproduce": [ + "python -m org_frontier.probes.probe_exit" + ], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#7", + "concept": "\"Determinations neither party controls\"", + "hypothesis": "One-party control collapses the triad", + "verdict": "H7 supported, refined", + "result": "S following one party alone (S=W or S=C) is dyadic — the ignored party drops. But both mutual-veto (AND) and either-forces (OR) are triadic. The criterion is \"S genuinely reads both,\" not \"requires both.\" probe_control.py", + "path": "org_frontier/probes/probe_control.py", + "reproduce": [ + "python -m org_frontier.probes.probe_control" + ], + "runtime": "fast" + }, + { + "kind": "probe", + "id": "#8", + "concept": "Coalition displacement, as a rate", + "hypothesis": "Worker far less often in core under coalition", + "verdict": "H8 weak / tempers Probe 1", + "result": "Over all 256 counterpart-couplings: worker-in-core 20.8% with a coalition vs 31.2% without. Real direction, but a modest 10-pt effect — NOT the categorical ejection the 3 named forms in Probe 1 showed. The vivid forms were unrepresentative. probe_coalition_sweep.py", + "path": "org_frontier/probes/probe_coalition_sweep.py", + "reproduce": [ + "python -m org_frontier.probes.probe_coalition_sweep" + ], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#9", + "concept": "Inference displacement, as a rate", + "hypothesis": "C and M trade off in the core", + "verdict": "H9 confirmed, categorical", + "result": "Over 64 forms, C and M never coexist in the core (0 forms). P(C in core \\", + "path": "org_frontier/probes/probe_inference_sweep.py", + "reproduce": [ + "python -m org_frontier.probes.probe_inference_sweep" + ], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#10", + "concept": "Determination type vs multi-party core", + "hypothesis": "Parity keeps all parties most robustly", + "verdict": "H10 refuted, surprising", + "result": "AND and OR keep all parties at Φ=3.0; parity keeps all but at Φ=0.25; majority (2-of-3) factors entirely → dyadic. Redundancy (no party pivotal) destroys irreducibility, extending Probe 2 to the determination level. probe_parity_multiparty.py", + "path": "org_frontier/probes/probe_parity_multiparty.py", + "reproduce": [ + "python -m org_frontier.probes.probe_parity_multiparty" + ], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#11", + "concept": "Pivotality as a predictor", + "hypothesis": "Influence predicts core membership", + "verdict": "H11 validated", + "result": "Across 256 determinations × 3 parties: P(in core) rises monotonically with influence — 0% at influence 0 (never), 12.5%, 37.5%, then 100% at influence ≥ 0.75. Rank-AUC = 0.891. The discovered mechanism is quantitatively confirmed, not just illustrated. probe_pivotality.py", + "path": "org_frontier/probes/probe_pivotality.py", + "reproduce": [ + "python -m org_frontier.probes.probe_pivotality" + ], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#12", + "concept": "Two-condition account on the full family", + "hypothesis": "Coupling + pivotality predict core membership for arbitrary wirings", + "verdict": "H12 supported, generalizes", + "result": "Sample of the 4,096-wiring family: non-bidirectional nodes in core 0/435 (categorically necessary); among coupled nodes P(in core) rises 41%→63%→83%→89% with influence (AUC 0.695, lower than the controlled 0.89 — single-node influence misses higher-order effects). The account is not an artifact of the mediated setup. probe_family_validation.py", + "path": "org_frontier/probes/probe_family_validation.py", + "reproduce": [ + "python -m org_frontier.probes.probe_family_validation" + ], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#13", + "concept": "Joint vs isolated influence", + "hypothesis": "Context-sensitive influence closes the AUC gap", + "verdict": "H13 refuted", + "result": "Total context influence does worse (AUC 0.649) than isolated per-function influence (0.695). The full-family gap to 0.89 is NOT a missing per-node feature — it is genuinely holistic. Per-node pivotality has a prediction ceiling because the major complex is not a function of per-node features (as expected for an irreducibility measure). probe_joint_influence.py", + "path": "org_frontier/probes/probe_joint_influence.py", + "reproduce": [ + "python -m org_frontier.probes.probe_joint_influence" + ], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#14", + "concept": "Verdict robustness to encoding", + "hypothesis": "Verdict stable under re-encoding; magnitude not", + "verdict": "H14 confirmed", + "result": "Isomorphism battery: 0 verdict flips across 8 forms × 8 state-relabelings, Φ-range exactly 0 (instrument well-defined). Re-encoding battery: AND/OR/NAND/NOR/XOR of the same inputs all triadic, Φ ranges 0.5–2.0 (CV 0.35). Exactly the dissertation's \"verdict robust, magnitude soft\" claim. probe_robustness.py", + "path": "org_frontier/probes/probe_robustness.py", + "reproduce": [ + "python -m org_frontier.probes.probe_robustness" + ], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#15", + "concept": "HMC vs algorithmacy (discriminant)", + "hypothesis": "Verdict separates the two constructs", + "verdict": "H15 confirmed, clean", + "result": "All 4 HMC forms dyadic (core {W,S}); all 4 algorithmacy forms triadic. No overlap. The structural verdict is a clean discriminant between human–machine communication and algorithmacy — the dissertation's discriminant-validity claim, made structural. probe_discriminant.py", + "path": "org_frontier/probes/probe_discriminant.py", + "reproduce": [ + "python -m org_frontier.probes.probe_discriminant" + ], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#16", + "concept": "Power asymmetry (\"neither controls\")", + "hypothesis": "Triadic requires balanced influence", + "verdict": "H16 confirmed, sharp", + "result": "Over 16 determinations: every triadic form has influence-asymmetry 0 (balanced); any asymmetry → dyadic (mean asymmetry 0.40 for dyadic, 0.00 for triadic). \"Neither party controls\" = equal influence, made quantitative. probe_power.py", + "path": "org_frontier/probes/probe_power.py", + "reproduce": [ + "python -m org_frontier.probes.probe_power" + ], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#17", + "concept": "What Φ magnitude tracks", + "hypothesis": "Magnitude indexes structural quantities", + "verdict": "H17 supported", + "result": "Over the 256-form family, Φ magnitude correlates most with party feedback (ρ=+0.45, how many parties read S), then mediator arity (+0.24), then weakly parity (+0.18). Magnitude is not a readability scale but it does index feedback richness and arity. probe_magnitude.py", + "path": "org_frontier/probes/probe_magnitude.py", + "reproduce": [ + "python -m org_frontier.probes.probe_magnitude" + ], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#18", + "concept": "Φ vs coordination difficulty", + "hypothesis": "Triadic ⇔ coordination-required", + "verdict": "H18 supported, caveated", + "result": "Verdict agrees with the analytic \"coordination-required\" proxy on 12/16 determinations (75%); bottleneck (no channel) Φ=2.0 vs open-channel Φ=0.83 — difficulty higher for the bottleneck, both triadic (a channel grades Φ down, not always to 0). Circularity explicit: both derive from the determination, so this is structural consistency, not independent validation. probe_difficulty.py", + "path": "org_frontier/probes/probe_difficulty.py", + "reproduce": [ + "python -m org_frontier.probes.probe_difficulty" + ], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#19", + "concept": "CMC (conveying medium)", + "hypothesis": "A conveyor factors; only a joint determination is triadic", + "verdict": "H19 confirmed", + "result": "All conveying-medium forms (S relays/echoes/displays) are dyadic; only the joint determination is triadic. A system that conveys but does not commit is a wire. probe_cmc.py", + "path": "org_frontier/probes/probe_cmc.py", + "reproduce": [ + "python -m org_frontier.probes.probe_cmc" + ], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#20", + "concept": "AI-MC (AI in the worker's production)", + "hypothesis": "AI-MC is not structurally triadic", + "verdict": "H20 refuted — a real limit", + "result": "The W→A→C loop is triadic (Φ=2.0, core {W,A,C}) just like external algorithmacy. The structural verdict CANNOT distinguish AI-MC from algorithmacy; the distinction depends on whether the AI is modeled as part of the worker (a unit-of-analysis choice), not on structure. Φ separates HMC/CMC cleanly (probes 15, 19) but not AI-MC. probe_aimc.py", + "path": "org_frontier/probes/probe_aimc.py", + "reproduce": [ + "python -m org_frontier.probes.probe_aimc" + ], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#21", + "concept": "Contestability / accountability", + "hypothesis": "Contestability decouples the worker", + "verdict": "H21 confirmed, sharp", + "result": "An uncontestable determination (worker bound, W'=S) is triadic with W in core; ANY contestability (sticky, override, autonomous) drops the worker out → dyadic {S,C}. Accountability-vacancy is what binds the worker into the triad — and the effect is categorical, not graded. probe_contestability.py", + "path": "org_frontier/probes/probe_contestability.py", + "reproduce": [ + "python -m org_frontier.probes.probe_contestability" + ], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#22", + "concept": "Worker competition", + "hypothesis": "Worker side mirrors counterpart side", + "verdict": "H22 confirmed", + "result": "Substitutable workers (platform matches either) factor → dyadic {S,C}; both-required is triadic {W1,S,C,W2}; a worker coalition relocates the core to {W1,W2}. Perfectly mirrors the counterpart results (probes 1, multi-homing) — the structure is symmetric in worker/counterpart roles. probe_competition.py", + "path": "org_frontier/probes/probe_competition.py", + "reproduce": [ + "python -m org_frontier.probes.probe_competition" + ], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#23", + "concept": "System memory / reputation", + "hypothesis": "A reputation node joins the core", + "verdict": "H23 refuted", + "result": "As a sticky accumulator (M'=W∨M), the memory never enters the core; scoring purely on reputation (S reads M not present W) even decouples the present worker → core {S,C}. A reputation that is too inertial is non-pivotal. (Caveat: a more responsive memory might differ — sticky accumulation is what makes it non-pivotal, consistent with the pivotality principle.) probe_memory.py", + "path": "org_frontier/probes/probe_memory.py", + "reproduce": [ + "python -m org_frontier.probes.probe_memory" + ], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#24", + "concept": "Opaque mediation as a gradient", + "hypothesis": "Transparency collapses the triad at a threshold", + "verdict": "H24 refuted, refined", + "result": "Blending a direct worker→counterpart observation channel (p: 0→1) leaves Φ at 2.0 and the verdict triadic at every level — even full transparency. Opacity is about the binding pathway (the counterpart reaching the worker only through the committed determination), not mutual visibility. The worker can see the counterpart and still be bound. probe_opacity.py", + "path": "org_frontier/probes/probe_opacity.py", + "reproduce": [ + "python -m org_frontier.probes.probe_opacity" + ], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#25", + "concept": "Joint vs decomposable determination", + "hypothesis": "Only a genuine joint commit is triadic", + "verdict": "H25 confirmed", + "result": "A single joint determination is triadic; a split mediator with independent per-party channels factors to dyadic (two independent dyads); cross-coupled mediators that recombine are triadic again. The \"joint\" in joint determination is load-bearing. probe_joint.py", + "path": "org_frontier/probes/probe_joint.py", + "reproduce": [ + "python -m org_frontier.probes.probe_joint" + ], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#26", + "concept": "MIP as a structural fault line", + "hypothesis": "The MIP isolates the weakest link", + "verdict": "H26 confirmed", + "result": "Every triadic corpus form cuts at {W,SC} — the worker is the most separable element; the system+counterpart cohere more tightly than the worker attaches. The MIP names the coordination's weakest seam: structurally, the worker is the most peripheral party. probe_mip.py", + "path": "org_frontier/probes/probe_mip.py", + "reproduce": [ + "python -m org_frontier.probes.probe_mip" + ], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#27", + "concept": "Mediator reliability", + "hypothesis": "The triad degrades gracefully with unreliability", + "verdict": "H27 confirmed", + "result": "Φ falls smoothly with mediator unreliability (2.0 → 1.5 → 1.2 → 0.68 → 0.35 → 0.14) and the verdict holds triadic until reliability = 0.5 (random), where it collapses. Reliability is a genuine continuous Φ axis (unlike encoding). The triad tolerates a noisy system. probe_reliability.py", + "path": "org_frontier/probes/probe_reliability.py", + "reproduce": [ + "python -m org_frontier.probes.probe_reliability" + ], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#28", + "concept": "Information-richness asymmetry", + "hypothesis": "The richer party occupies more of the core", + "verdict": "H28 partial", + "result": "A determination reading both worker bits jointly with the counterpart binds all four (Φ=3.0); reading one bit drops the other (compression, cf. Probe 2). But coupling the worker's bits to each other (XOR) binds the worker internally and excludes the counterpart. Richness helps the core only when channeled through a cross-party pivotal read. probe_richness.py", + "path": "org_frontier/probes/probe_richness.py", + "reproduce": [ + "python -m org_frontier.probes.probe_richness" + ], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#29", + "concept": "The variance puzzle (equifinality)", + "hypothesis": "Same system, divergent outcomes", + "verdict": "H29 confirmed, nuanced", + "result": "Holding the system fixed and varying the worker's policy: success ranges 0.00–0.38 and the verdict itself varies — only a worker who stays live to the determination instantiates the triad; contrarian/withdrawn workers fail AND break it; eager workers succeed equally but dyadically. Triadicity is co-determined by worker engagement, and triadic ≠ higher success. The variance puzzle, structurally", + "path": "org_frontier/probes/probe_variance.py", + "reproduce": [ + "python -m org_frontier.probes.probe_variance" + ], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#30", + "concept": "Structural extremes of the triad", + "hypothesis": "Minimal/maximal irreducible forms", + "verdict": "H30 confirmed, clean", + "result": "Every one of the 24 triadic strict-mediation forms has exactly 4 edges (joint determination S←W,S←C + both parties reading S); none has more or fewer. The triad has a fixed edge budget. Φ is 2.0 (16 forms) or 0.5 (8 parity forms). probe_extremes.py", + "path": "org_frontier/probes/probe_extremes.py", + "reproduce": [ + "python -m org_frontier.probes.probe_extremes" + ], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#31", + "concept": "Comprehensive discriminant map", + "hypothesis": "Verdict maps the construct space", + "verdict": "H31 confirmed", + "result": "6/6 neighbor constructs classify as expected: CMC, HMC, AI-literacy, sensemaking dyadic; algorithmacy and AI-MC triadic. One clean map, with AI-MC flagged as the lone structural boundary case (triadic by structure, dyadic-by-unit). probe_discriminant_map.py", + "path": "org_frontier/probes/probe_discriminant_map.py", + "reproduce": [ + "python -m org_frontier.probes.probe_discriminant_map" + ], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#32", + "concept": "Temporal grain (1-step vs 2-step)", + "hypothesis": "Verdict is grain-relative", + "verdict": "H32 confirmed, consequential", + "result": "ALL three triadic corpus forms flip to dyadic under the 2-step composed map (Φ 2.0→0); dyadic forms stay dyadic. Observing the coordination too coarsely washes out the triad entirely. A real caveat for empirical sampling cadence. probe_temporal_grain.py", + "path": "org_frontier/probes/probe_temporal_grain.py", + "reproduce": [ + "python -m org_frontier.probes.probe_temporal_grain" + ], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#33", + "concept": "MIP fault line across the family", + "hypothesis": "The worker is the weakest seam", + "verdict": "H33 refines Probe 26", + "result": "Over the 24 triadic family forms: 67% cut at {W,SC} (worker is the severed singleton), 33% cut at the complete {W,S,C} (the parity Φ=0.5 forms). Worker-as-weakest-seam is the dominant pattern, not universal. probe_mip_population.py", + "path": "org_frontier/probes/probe_mip_population.py", + "reproduce": [ + "python -m org_frontier.probes.probe_mip_population" + ], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#34", + "concept": "Graded contestability", + "hypothesis": "Triad survives partial contestability", + "verdict": "H34 refines Probe 21", + "result": "Stochastic contestability q: Φ falls smoothly (2.0→0.86→0.62→0.42→0.19) but the verdict stays triadic until total autonomy (q=1). The triad tolerates partial contestability; only a worker who fully ignores the determination escapes it. Magnitude sensitive, verdict robust. probe_graded_contestability.py", + "path": "org_frontier/probes/probe_graded_contestability.py", + "reproduce": [ + "python -m org_frontier.probes.probe_graded_contestability" + ], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#35", + "concept": "Minimal-edge triad at n=4", + "hypothesis": "The edge budget rises with parties", + "verdict": "H35 confirmed", + "result": "Every triadic n=4 strict-mediation form has exactly 6 edges (n=3 was 4). The minimal triad scales as 2(n−1): the joint determination reads all outer parties and they read back. A clean structural scaling law. probe_min_triad_n4.py", + "path": "org_frontier/probes/probe_min_triad_n4.py", + "reproduce": [ + "python -m org_frontier.probes.probe_min_triad_n4" + ], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#36", + "concept": "Cause-effect-structure richness", + "hypothesis": "Triadic forms are structurally richer", + "verdict": "H36 confirmed", + "result": "Triadic forms carry more distinctions (4.0 vs 2.6) and far more relations (7.0 vs 2.8, ~2.5×) than dyadic. The irreducible coordination is richer in kind, not just higher in Φ — the relations gap is the bigger differentiator. probe_ces_richness.py", + "path": "org_frontier/probes/probe_ces_richness.py", + "reproduce": [ + "python -m org_frontier.probes.probe_ces_richness" + ], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#37", + "concept": "Feature interaction: principal × coalition", + "hypothesis": "The two displacements compete", + "verdict": "H37 — coalition dominates", + "result": "A counterpart coalition relocates the core to {C1,C2} even when an active gating+monitoring principal is present, ejecting worker, system, AND principal. Counterpart solidarity trumps principal control over the irreducible coordination. probe_interaction.py", + "path": "org_frontier/probes/probe_interaction.py", + "reproduce": [ + "python -m org_frontier.probes.probe_interaction" + ], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#38", + "concept": "Asymmetric reliability", + "hypothesis": "Degrading the system's read of the counterpart factors it", + "verdict": "H38 confirmed", + "result": "As the system's perception of the counterpart degrades (r_c: 1→0), Φ falls smoothly (2.0→0.88→0.44→0.20) and the verdict holds triadic until the counterpart is fully invisible (r_c=0). Graceful degradation, verdict robust until the extreme. probe_asym_reliability.py", + "path": "org_frontier/probes/probe_asym_reliability.py", + "reproduce": [ + "python -m org_frontier.probes.probe_asym_reliability" + ], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#39", + "concept": "Feedback cycle necessity", + "hypothesis": "A cycle is needed for the triad", + "verdict": "H39 confirmed", + "result": "An acyclic joint determination (parties as sources, system as sink) is dyadic; one feedback edge is dyadic; only the full cycle (both parties read the system back) is triadic. Irreducible coordination requires recurrence through both parties. probe_cycle.py", + "path": "org_frontier/probes/probe_cycle.py", + "reproduce": [ + "python -m org_frontier.probes.probe_cycle" + ], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#40", + "concept": "Broadcast topology", + "hypothesis": "Fan-out factors into dyads", + "verdict": "H40 confirmed", + "result": "A system that relays/broadcasts the worker to many counterparts without a joint determination over them is dyadic (core {W,S}); only a joint determination over the counterparts (the pool) is triadic. Broadcast ≠ triad. probe_broadcast.py", + "path": "org_frontier/probes/probe_broadcast.py", + "reproduce": [ + "python -m org_frontier.probes.probe_broadcast" + ], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#41", + "concept": "Dashboard vs determination", + "hypothesis": "A decoupled dashboard factors the worker out", + "verdict": "H41 confirmed (transparency theater)", + "result": "When the worker reads a dashboard decoupled from the committing determination, the system splits: {W, dashboard} factors off from {commit, counterpart}. The worker is bound to the display, not the decision. A decoupled metric literally removes the worker from the irreducible coordination. probe_dashboard.py", + "path": "org_frontier/probes/probe_dashboard.py", + "reproduce": [ + "python -m org_frontier.probes.probe_dashboard" + ], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#42", + "concept": "Redundant determination paths", + "hypothesis": "Duplicate mediators are reducible", + "verdict": "H42 refuted/nuanced", + "result": "Two mediators both committing W∧C, read conjunctively, RAISE Φ (2.0→4.0) and both join the core — requiring both makes each pivotal. Read disjunctively (either suffices) they factor. Redundancy is not monolithic: AND-duplication binds, OR-duplication collapses (cf. the pivotality principle). probe_redundant.py", + "path": "org_frontier/probes/probe_redundant.py", + "reproduce": [ + "python -m org_frontier.probes.probe_redundant" + ], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#43", + "concept": "Self-referential mediator", + "hypothesis": "A self-loop on S shifts magnitude only", + "verdict": "H43 refuted/nuanced", + "result": "A sticky mediator (S'=(W∧C)∨S) COLLAPSES the triad to a self-absorbed core {S} — a system running on its own inertia stops being a live joint determination and factors the parties out. A parity-memory mediator (XOR) stays triadic. Mediator inertia can break the triad. probe_self_ref.py", + "path": "org_frontier/probes/probe_self_ref.py", + "reproduce": [ + "python -m org_frontier.probes.probe_self_ref" + ], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#44", + "concept": "Group-size transition (Niizato 2020)", + "hypothesis": "A Niizato-style size discontinuity appears", + "verdict": "H44 partial", + "result": "The all-required pool's Φ rises with size (2,2,3,4 for n=2–5); the random triadic rate collapses (9.4%→2.3%→0%). Size strongly governs irreducibility, but the sharp 3→4 discontinuity Niizato found in fish-school Φ distributions is dynamics-specific, not reproduced here. probe_group_size.py", + "path": "org_frontier/probes/probe_group_size.py", + "reproduce": [ + "python -m org_frontier.probes.probe_group_size" + ], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#45", + "concept": "Φ vs MI / transfer entropy (Niizato contrast)", + "hypothesis": "Φ separates what MI/TE miss", + "verdict": "H45 confirmed", + "result": "MI(W;C) ranges overlap across classes (triadic 0.006–0.281 vs dyadic 0.001–0.119); transfer entropy is worse — a dyadic back-channel form has the HIGHEST TE (0.54) of all. MI/TE measure dependence, not integration. Replicates Niizato's contrast on coordination forms (and this repo's proxy results). probe_phi_vs_mi_te.py", + "path": "org_frontier/probes/probe_phi_vs_mi_te.py", + "reproduce": [ + "python -m org_frontier.probes.probe_phi_vs_mi_te" + ], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#46", + "concept": "O-information (Rosas 2019)", + "hypothesis": "Triadic = synergy-dominated", + "verdict": "H46 weak", + "result": "Means lean the right way (triadic O=−0.004, dyadic O=+0.012) but individual forms are mixed and near-zero — a dyadic back-channel form is strongly synergistic, a dyadic relay strongly redundant. O-information on the present-state joint does not cleanly separate the verdict. probe_o_information.py", + "path": "org_frontier/probes/probe_o_information.py", + "reproduce": [ + "python -m org_frontier.probes.probe_o_information" + ], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#47", + "concept": "ΦID atoms on a coordination series (white-space)", + "hypothesis": "Triadic = more persistent synergy", + "verdict": "H47 supported, directional", + "result": "First application of ΦID to a coordination series (a gap the dossier flags). Triadic forms carry more persistent synergy (mean sts −0.072 vs −0.009 for dyadic). Directionally clean; not a perfect separator (estimated-measure degradation, cf. proxy_bridge). probe_phiid_social.py", + "path": "org_frontier/probes/probe_phiid_social.py", + "reproduce": [ + "python -m org_frontier.probes.probe_phiid_social" + ], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#48", + "concept": "Φ vs performance (Engel & Malone 2018)", + "hypothesis": "Higher Φ → better coordination", + "verdict": "H48 null", + "result": "Spearman ρ(Φ, success-proxy) = +0.00; triadic and dyadic forms have identical mean success (0.50). Φ is orthogonal to the match-reaching proxy — being triadic is about the kind of coordination, not the level of success. Contrasts Engel-Malone's performance correlation; aligns with the dissertation (the triad demands a competency, it is not itself success) and with Probe 29", + "path": "org_frontier/probes/probe_phi_performance.py", + "reproduce": [ + "python -m org_frontier.probes.probe_phi_performance" + ], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#49", + "concept": "Causal emergence (Hoel / Klein)", + "hypothesis": "Triadic = more emergence, higher EI", + "verdict": "H49 nuanced", + "result": "Triadic forms show MORE causal emergence (0.16 vs 0.04) but LOWER raw effective information (1.93 vs 2.33). Emergence leans triadic; EI does not — a non-trivial relationship, partly contrasting emergence_vs_phi's random-net orthogonality. probe_emergence.py", + "path": "org_frontier/probes/probe_emergence.py", + "reproduce": [ + "python -m org_frontier.probes.probe_emergence" + ], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#50", + "concept": "Adversarial / anti-coordination", + "hypothesis": "Irreducibility is valence-free", + "verdict": "H50 mostly confirmed", + "result": "Adversarial determinations (W⊕C, ¬(W∧C)) are triadic just like cooperative (W∧C); only the one-sided W∧¬C factors. Whether the parties' interests align does not bear on irreducibility — structure does. probe_adversarial.py", + "path": "org_frontier/probes/probe_adversarial.py", + "reproduce": [ + "python -m org_frontier.probes.probe_adversarial" + ], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#51", + "concept": "Team's irreducible subset (Watson)", + "hypothesis": "The core is a proper subset of the team", + "verdict": "H51 confirmed", + "result": "A homogeneous pool integrates over all members; a heterogeneous team (tight triad + peripherals) integrates only over its tight subset {W,S,C1} — the core is a proper subset of the roster, matching Watson's subset-Φ. probe_team_core.py", + "path": "org_frontier/probes/probe_team_core.py", + "reproduce": [ + "python -m org_frontier.probes.probe_team_core" + ], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#52", + "concept": "Group vs members (List 2018)", + "hypothesis": "Group Φ exceeds any member's", + "verdict": "H52 nuanced, refines List", + "result": "The 4-party pool's whole Φ (3.0) exceeds its best pair (2.0) — genuine group-level integration absent in the parts. But the 3-node triad's whole (2.0) equals its best pair (2.0) — no surplus. Group integration beyond members emerges at n≥4, not at the minimal triad. A precise answer to the List/Kramer debate. probe_group_vs_members.py", + "path": "org_frontier/probes/probe_group_vs_members.py", + "reproduce": [ + "python -m org_frontier.probes.probe_group_vs_members" + ], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#53", + "concept": "Dimension composition (integration claim)", + "hypothesis": "Both dimensions individually necessary", + "verdict": "H53 confirmed", + "result": "The worker is bound (in the core, triadic) only with BOTH inference (reads S) and translation (intent reaches S); removing either drops her out. The construct is the composition of its dimensions, not either alone — the dissertation's integration claim, structurally. probe_dimension_composition.py", + "path": "org_frontier/probes/probe_dimension_composition.py", + "reproduce": [ + "python -m org_frontier.probes.probe_dimension_composition" + ], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#54", + "concept": "Φ-free structural test (#44)", + "hypothesis": "A graph predicate matches the verdict", + "verdict": "partial", + "result": "A connectivity predicate (S reads W and C; W and C read S) is NECESSARY (0 false negatives) but over-predicts (16 false positives), accuracy 0.938 over 256 forms. A purely connectivity-based Φ-free test is impossible; the function-level liveness Φ captures needs a pivotality term. probe_phi_free_test.py", + "path": "org_frontier/probes/probe_phi_free_test.py", + "reproduce": [ + "python -m org_frontier.probes.probe_phi_free_test" + ], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#55", + "concept": "Role-symmetry automorphism (#46)", + "hypothesis": "W↔C swap preserves the verdict exactly", + "verdict": "confirmed", + "result": "0/256 verdict flips and max", + "path": "org_frontier/probes/probe_role_symmetry.py", + "reproduce": [ + "python -m org_frontier.probes.probe_role_symmetry" + ], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#56", + "concept": "Pure higher-order binding (#47)", + "hypothesis": "A triadic form can have no irreducible proper subset", + "verdict": "confirmed", + "result": "8 of 24 triadic family forms are purely higher-order: whole Φ=0.5 with best-proper-subset Φ=0.0. These are the parity determinations — irreducibility appears only at the whole, with no lower-order seed. The 16 conjunctive forms are seeded (a pair already has Φ=2.0). probe_pure_higher_order.py", + "path": "org_frontier/probes/probe_pure_higher_order.py", + "reproduce": [ + "python -m org_frontier.probes.probe_pure_higher_order" + ], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#57", + "concept": "Mediator-chain invariance (#12)", + "hypothesis": "Φ=2.0 at every chain depth, balanced MIP", + "verdict": "confirmed", + "result": "Chains k=1..4 (n=3..6) are all triadic with Φ exactly 2.0, the MIP a balanced two-part cut near the middle. Depth adds intermediaries but not integration; the chain has one irreducible bottleneck that lengthening neither factors nor raises. probe_chain_theorem.py", + "path": "org_frontier/probes/probe_chain_theorem.py", + "reproduce": [ + "python -m org_frontier.probes.probe_chain_theorem" + ], + "runtime": "slow" + }, + { + "kind": "probe", + "id": "#58", + "concept": "Tree (branching) mediation (#13)", + "hypothesis": "Branching dilutes like breadth", + "verdict": "refuted", + "result": "Tree-mediation forms (a root joining two branch mediators) are triadic at Φ=2.0, like chains, not dyadic like breadth. Branching mediation PRESERVES the triad. What dilutes irreducibility is added parties with substitutability, not added mediator structure. probe_trees.py", + "path": "org_frontier/probes/probe_trees.py", + "reproduce": [ + "python -m org_frontier.probes.probe_trees" + ], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#59", + "concept": "Isomorphism invariance (#6)", + "hypothesis": "Verdict invariant under the full relabeling group", + "verdict": "confirmed", + "result": "0/384 verdict flips and 0 Φ difference across 8 forms × 6 node-permutations × 8 state-flips. The verdict is an exact invariant of the system up to relabeling; the state-individuation choice does not move it. (A first run had a relabeling bug, fixed.) probe_individuation.py", + "path": "org_frontier/probes/probe_individuation.py", + "reproduce": [ + "python -m org_frontier.probes.probe_individuation" + ], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#60", + "concept": "Temporal-grain threshold (#7)", + "hypothesis": "A detectable band tied to the attractor period", + "verdict": "confirmed (short)", + "result": "The triadic corpus forms flip to dyadic at grain k=2, with attractor periods 1–2. For these short-period forms the detectable band is narrow; empirical sampling must be fine relative to the coordination's cycle (refines Probe 32). probe_grain_threshold.py", + "path": "org_frontier/probes/probe_grain_threshold.py", + "reproduce": [ + "python -m org_frontier.probes.probe_grain_threshold" + ], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#61", + "concept": "Shared exogenous shock (#9)", + "hypothesis": "Correlated noise changes the verdict", + "verdict": "not shown (modeling limit)", + "result": "A static common source both parties read leaves the major complex the {W,S,C} triad (Φ=2.0) and stays out itself. A static shared input does not change the verdict. True correlated output noise needs a state-by-state TPM, which the state-by-node form cannot express; flagged. probe_shared_shock.py", + "path": "org_frontier/probes/probe_shared_shock.py", + "reproduce": [ + "python -m org_frontier.probes.probe_shared_shock" + ], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#62", + "concept": "Update scheduling (#10)", + "hypothesis": "Verdict can depend on the update schedule", + "verdict": "confirmed, consequential", + "result": "Every triadic corpus form becomes DYADIC under sequential (one-node-at-a-time) update, for all 6 orders, while simultaneous update is triadic. The verdict is schedule-relative: within-step sequential composition lets information pass through in one step and collapses the joint determination. A modeling caveat alongside grain-relativity (Probe 32). probe_async.py", + "path": "org_frontier/probes/probe_async.py", + "reproduce": [ + "python -m org_frontier.probes.probe_async" + ], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#63", + "concept": "Bidirectionally-coupled regime (#16)", + "hypothesis": "A two-way-coupled regime binds where the clock did not", + "verdict": "refuted", + "result": "A regime that switches the rule and is read into it does not join the core; the switching destabilizes the worker out (core {S,C}), as the outcome-tracking regime did in Probe 3. Temporal-tracking is not structural even with bidirectional coupling — the switch itself disrupts. probe_lifted_regime.py", + "path": "org_frontier/probes/probe_lifted_regime.py", + "reproduce": [ + "python -m org_frontier.probes.probe_lifted_regime" + ], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#64", + "concept": "Core from the graph (#14)", + "hypothesis": "A connectivity rule predicts the major complex", + "verdict": "partial", + "result": "Over 300 n=4 forms the bidirectional-coupling rule has recall 1.000 (never misses a core node — coupling is necessary, cf. Probe 12) but precision 0.543 (over-predicts), exact core-set match 33.3%. The core is not predictable graph-only; coupling gives a superset, and the rest is the holistic residual. probe_team_core_rule.py", + "path": "org_frontier/probes/probe_team_core_rule.py", + "reproduce": [ + "python -m org_frontier.probes.probe_team_core_rule" + ], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#65", + "concept": "Group surplus by size (#15)", + "hypothesis": "Whole-Φ-beyond-members emerges with n", + "verdict": "confirmed, mapped", + "result": "All-required pool: surplus (whole Φ − best proper-subset Φ) is 0.0 at n=3, +1.0 at n=4, +1.0 at n=5. Group-level integration beyond the members appears at n≥4, not at the minimal triad (sharpens Probe 52). probe_group_surplus.py", + "path": "org_frontier/probes/probe_group_surplus.py", + "reproduce": [ + "python -m org_frontier.probes.probe_group_surplus" + ], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#66", + "concept": "Coalition size vs principal (#33)", + "hypothesis": "A larger coalition still wins", + "verdict": "confirmed", + "result": "The counterpart coalition is the core at k=2 (n=5, core {C1,C2}) and k=3 (n=6, core {C1,C2,C3}, Φ=6.0), ejecting the active gating+monitoring principal both times. Solidarity dominates principal control regardless of coalition size (extends Probe 37). probe_coalition_size.py", + "path": "org_frontier/probes/probe_coalition_size.py", + "reproduce": [ + "python -m org_frontier.probes.probe_coalition_size" + ], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#67", + "concept": "Voting/aggregation rules (#49)", + "hypothesis": "Which rules make a triadic collective decision", + "verdict": "clean, novel", + "result": "Unanimity (AND) and any-suffices (OR) bind all members (triadic, Φ=3.0); majority (2-of-3) factors to dyadic (no member pivotal); veto reduces to the vetoer (dyadic, core {W}); parity binds weakly (Φ=0.25). A majority-rule body is structurally not an irreducible collective. probe_voting.py", + "path": "org_frontier/probes/probe_voting.py", + "reproduce": [ + "python -m org_frontier.probes.probe_voting_robustness" + ], + "runtime": "fast" + }, + { + "kind": "probe", + "id": "#68", + "concept": "Market clearinghouse (#48)", + "hypothesis": "A clearinghouse is triadic, a price-poster dyadic", + "verdict": "confirmed, new domain", + "result": "A clearinghouse jointly matching a buyer and seller is triadic (Φ=2.0, core {B,S,Se}); a one-way price-poster is a conveyor and factors (core {Se}); substitutable buyers (either clears) dilute to dyadic; an all-required two-buyer clear is triadic (Φ=3.0). The framework extends to markets. probe_market.py", + "path": "org_frontier/probes/probe_market.py", + "reproduce": [ + "python -m org_frontier.probes.probe_market" + ], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#69", + "concept": "Model fidelity vs displacement (#25)", + "hypothesis": "A better model displaces the counterpart more", + "verdict": "confirmed", + "result": "With the worker acting on its model (W'=S∧M), the counterpart stays in the core at dead/static/lagged fidelity but is displaced at FULL fidelity (M'=S → core {W,S,M}, C out). Displacement strengthens with model fidelity (extends Probes 4/9). probe_model_fidelity.py", + "path": "org_frontier/probes/probe_model_fidelity.py", + "reproduce": [ + "python -m org_frontier.probes.probe_model_fidelity" + ], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#70", + "concept": "AI-MC boundary by timescale (#26)", + "hypothesis": "A timescale criterion recovers the AI-MC distinction", + "verdict": "refuted, clarifying", + "result": "Absorbing the AI into the worker does NOT flip the Φ verdict: the 2-element W–C loop is still irreducible (Φ=2.0). The discriminator is the major-complex ELEMENT COUNT (2 vs 3), not Φ>0. \"Triadic\" in the construct must mean an irreducible complex with a genuine third party — sharpening Probe 20: AI-MC vs algorithmacy is a counting/boundary question the scalar verdict cannot settle", + "path": "org_frontier/probes/probe_aimc_boundary.py", + "reproduce": [ + "python -m org_frontier.probes.probe_aimc_boundary" + ], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#71", + "concept": "Second-order theory of mind (#27)", + "hypothesis": "A used second model joins the core", + "verdict": "confirmed", + "result": "The second-order model M2 stays a sink when unused (core {W,S,M1}, M2 out); it joins the core only when the worker acts on it (W reads M2 → core all five). Recursive mentalizing is structural only when used, else a worker burden — the acted-on/bidirectional principle again. probe_second_order_tom.py", + "path": "org_frontier/probes/probe_second_order_tom.py", + "reproduce": [ + "python -m org_frontier.probes.probe_second_order_tom" + ], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#72", + "concept": "Sensemaking family (#28)", + "hypothesis": "Internal-process sensemaking is dyadic", + "verdict": "confirmed", + "result": "All three internal-process forms are dyadic. A process inside the worker that interprets the system, with no third party jointly committed, is dyadic across the family — sensemaking is a worker-side construct, not algorithmacy (extends Probe 31). probe_sensemaking.py", + "path": "org_frontier/probes/probe_sensemaking.py", + "reproduce": [ + "python -m org_frontier.probes.probe_sensemaking" + ], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#73", + "concept": "Multi-role agents (#29)", + "hypothesis": "The two coordinations stay separate", + "verdict": "confirmed", + "result": "An agent who is worker on one platform and counterpart on another has a single triad as its major complex ({X,S1,C1}), not a merged five-element whole. Sharing one agent does not fuse two coordinations into one irreducible structure. probe_multirole.py", + "path": "org_frontier/probes/probe_multirole.py", + "reproduce": [ + "python -m org_frontier.probes.probe_multirole" + ], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#74", + "concept": "Generic {S,P} core? (#30)", + "hypothesis": "The platform-and-owner core is generic", + "verdict": "refuted (rare regime)", + "result": "Over the 16 principal-coupling forms, the core is {S,P} (both parties ejected) in only 1 (6%), at maximum coupling (S gates P, P reads all). The platform-and-owner core is a high-coupling regime, not the default. probe_principal_regime.py", + "path": "org_frontier/probes/probe_principal_regime.py", + "reproduce": [ + "python -m org_frontier.probes.probe_principal_regime" + ], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#75", + "concept": "Control, exposure, value capture (#31)", + "hypothesis": "Structure predicts who captures surplus", + "verdict": "partial", + "result": "A Φ-free leverage proxy (control = the commit's sensitivity to a party; exposure = the party's sensitivity to the commit) is computable. In balanced triads every party is \"captured\" (exposure 1.0 > control 0.25–0.5), including a symmetric principal — differential capture needs an asymmetric/extractive commit (see #35). probe_value_capture.py", + "path": "org_frontier/probes/probe_value_capture.py", + "reproduce": [ + "python -m org_frontier.probes.probe_value_capture" + ], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#76", + "concept": "The regulator node (#32)", + "hypothesis": "Effective oversight must join the core", + "verdict": "confirmed", + "result": "A read-only observer and a static veto stay out of the core; only a regulator that both vetoes the commit and responds to outcomes joins it. Toothless oversight (observe-only) is structurally outside the coordination it oversees — the acted-on/bidirectional principle for oversight. probe_regulator.py", + "path": "org_frontier/probes/probe_regulator.py", + "reproduce": [ + "python -m org_frontier.probes.probe_regulator" + ], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#77", + "concept": "Observability asymmetry (#34)", + "hypothesis": "The asymmetry is necessary for the triad", + "verdict": "partial", + "result": "The Φ-maximal triad sits at S-reads-both / no-direct-channel (Φ=2.0). But a symmetric direct W↔C channel only grades Φ down (2.0→0.83) without collapsing, and S-reads-one + a channel is triadic at Φ=1.0. The asymmetry maximizes integration but is not strictly necessary; reading only one party is dyadic. probe_info_asymmetry.py", + "path": "org_frontier/probes/probe_info_asymmetry.py", + "reproduce": [ + "python -m org_frontier.probes.probe_info_asymmetry" + ], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#78", + "concept": "Fairness signature (#35)", + "hypothesis": "Extractive commits carry a distinct signature", + "verdict": "confirmed", + "result": "A balanced commit keeps the parties in the core ({W,S,C}, P out); as the commit tilts toward the principal (P can force it) the parties are ejected and the core becomes {S,P}; a fully extractive commit (S follows P) leaves {S,P}. An extractive determination structurally excludes the parties from the irreducible coordination. probe_fairness.py", + "path": "org_frontier/probes/probe_fairness.py", + "reproduce": [ + "python -m org_frontier.probes.probe_fairness" + ], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#79", + "concept": "Adaptive mediator's verdict path (#17)", + "hypothesis": "An adapting mediator traces a verdict path", + "verdict": "confirmed", + "result": "As the mediator's reliance on the counterpart degrades over epochs (r: 1.0→0.0), Φ falls 2.0→0.71→0.44→0.20→0.0 and the verdict crosses from triadic to dyadic at the final epoch. The form's kind is not fixed; it moves as the mediator adapts (a learning analogue of Probe 38). probe_adaptive.py", + "path": "org_frontier/probes/probe_adaptive.py", + "reproduce": [ + "python -m org_frontier.probes.probe_adaptive" + ], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#80", + "concept": "Φ vs success over learning (#18)", + "hypothesis": "Training for success raises Φ", + "verdict": "refuted", + "result": "Across worker policies ordered by coordination success, Φ is non-monotone: a cautious policy at 0.12 success has Φ=2.0, while persistent/eager policies at 0.38 success have Φ=0. Climbing in success need not climb in Φ — success is the level, Φ is the kind (confirms Probe 48). probe_learning.py", + "path": "org_frontier/probes/probe_learning.py", + "reproduce": [ + "python -m org_frontier.probes.probe_learning" + ], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#81", + "concept": "Criticality / interior Φ peak (#19)", + "hypothesis": "Φ peaks at intermediate coupling", + "verdict": "refuted (trough, not peak)", + "result": "Sweeping the parties' tracking phase p, Φ is symmetric: 2.0 at both deterministic extremes (in-phase p=1 and anti-phase p=0) and 0 at random tracking (p=0.5). Φ tracks coupling determinism, not phase sign; the interior point is a trough. No critical interior maximum (matches Probes 27, 38). probe_criticality.py", + "path": "org_frontier/probes/probe_criticality.py", + "reproduce": [ + "python -m org_frontier.probes.probe_criticality" + ], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#82", + "concept": "Non-collapsing Niizato size jump (#43)", + "hypothesis": "A size-four Φ rise appears under richer dynamics", + "verdict": "refuted (opposite)", + "result": "Under all-to-all noisy majority coupling, max Φ peaks at n=3 (3.47) and falls — n=2:1.37, n=3:3.47, n=4:0.95, n=5:0.0. No Niizato-style rise at n=4; added members make the consensus more redundant and less integrated, so the size dependence runs the other way for this dynamics. probe_noncollapse.py", + "path": "org_frontier/probes/probe_noncollapse.py", + "reproduce": [ + "python -m org_frontier.probes.probe_noncollapse" + ], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#83", + "concept": "O-information on transitions (#38)", + "hypothesis": "Transition O-info separates better than present-state", + "verdict": "partial", + "result": "Across 16 triadic and 16 dyadic corpus forms, present-state O-info gives no group gap (0.0). The present⊕next transition joint opens a gap of 0.25 (triadic 0.36 > dyadic 0.10, more redundancy-dominated). The transition structure carries discriminating synergy the static joint misses, but the gap is modest — a partial gain over Probe 46, not a clean separator. probe_transition_oinfo.py", + "path": "org_frontier/probes/probe_transition_oinfo.py", + "reproduce": [ + "python -m org_frontier.probes.probe_transition_oinfo" + ], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#84", + "concept": "Barrett–Seth Φ_AR proxy (#20)", + "hypothesis": "Φ_AR recovers the verdict better than Φ_R/Φ_WMS", + "verdict": "confirmed (recovers it)", + "result": "An autoregressive Φ_AR (min over bipartitions of summed-part minus whole residual entropy), fit to noisy trajectories, separates exact-triadic from exact-dyadic at rank-AUC 0.925 (triadic mean 0.60 vs dyadic 0.16). Where Φ_R/Φ_WMS failed, the AR proxy recovers most of the verdict from time series. probe_phi_ar.py", + "path": "org_frontier/probes/probe_phi_ar.py", + "reproduce": [ + "python -m org_frontier.probes.probe_phi_ar" + ], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#85", + "concept": "Learned surrogate over cheap features (#21)", + "hypothesis": "A feature-combiner recovers the verdict", + "verdict": "confirmed (perfectly)", + "result": "A random forest over 13 cheap time-series features (per-node entropy, pairwise MI, transfer entropy, O-information) recovers the verdict at 5-fold CV accuracy 1.000 and ROC-AUC 1.000, against a 0.906 majority-class baseline. No single proxy works; the combination is a complete fingerprint. probe_learned_surrogate.py", + "path": "org_frontier/probes/probe_learned_surrogate.py", + "reproduce": [ + "python -m org_frontier.probes.probe_learned_surrogate" + ], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#86", + "concept": "Trajectory length (#22)", + "hypothesis": "Longer trajectories never recover the missed Φ_R verdict", + "verdict": "confirmed", + "result": "Sweeping length 1k→64k, the triadic−dyadic Φ_R gap stays ~0.04–0.08 and never grows toward the exact gap (~2.0). Φ_R's failure is structural, not a finite-sample artifact — more data does not fix it. probe_phiid_length.py", + "path": "org_frontier/probes/probe_phiid_length.py", + "reproduce": [ + "python -m org_frontier.probes.probe_phiid_length" + ], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#87", + "concept": "Redundancy lattice and noise (#23)", + "hypothesis": "MMI/CCS or noise changes ΦID separation", + "verdict": "confirmed (no rescue)", + "result": "Across MMI and CCS redundancy at noise 0.05/0.15, the Φ_R group gap stays small (0.04–0.07) in every cell and collapses toward zero at high noise. Neither the lattice nor the noise level is why ΦID misses the verdict — the limitation is the measure. probe_phiid_sweep.py", + "path": "org_frontier/probes/probe_phiid_sweep.py", + "reproduce": [ + "python -m org_frontier.probes.probe_phiid_sweep" + ], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#88", + "concept": "Multi-agent-AI protocol (#50)", + "hypothesis": "An AI-agent protocol is dyadic or triadic by design", + "verdict": "confirmed", + "result": "A relay protocol (P forwards A1 to A2) and a broadcast protocol are dyadic (Φ=0); a joint-commit protocol whose state both agents determine and act on (P=A1∧A2, both read P) is triadic (Φ=2.0, core {A1,P,A2}). AI-agent coordination sits on the same conveyor-vs-committing-third-party cut as human coordination. probe_mas.py", + "path": "org_frontier/probes/probe_mas.py", + "reproduce": [ + "python -m org_frontier.probes.probe_mas" + ], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#89", + "concept": "Consilience map (#36)", + "hypothesis": "Adjacent measures agree on clear cases, diverge mappably", + "verdict": "confirmed", + "result": "Over the 256 family (24 triadic), each measure's best single threshold agrees with the verdict only partly: EI and causal emergence default to all-dyadic (0.906), O-info catches 1/24, Φ_R catches 7/24 (2 false positives), Φ_AR catches 9/24 at 0 false positives (0.941). No scalar reproduces the verdict at one threshold; the divergence is structured (panel cached). probe_consilience.py", + "path": "org_frontier/probes/probe_consilience.py", + "reproduce": [ + "python -m org_frontier.probes.probe_consilience" + ], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#90", + "concept": "Cheap-measure search (#37)", + "hypothesis": "No single cheap measure cleanly separates the verdict", + "verdict": "confirmed", + "result": "Ranking each measure by rank-AUC against the verdict: Φ_AR 0.959, causal emergence 0.661, EI 0.655, Φ_R 0.593, O-info 0.464. The autoregressive Φ_AR is the strongest single proxy but none reaches the perfect separation a learned feature combination gives (Probe 85). probe_cheap_search.py", + "path": "org_frontier/probes/probe_cheap_search.py", + "reproduce": [ + "python -m org_frontier.probes.probe_cheap_search" + ], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#91", + "concept": "EI / causal emergence across the family (#39)", + "hypothesis": "The EI–Φ link from Probe 49 generalizes", + "verdict": "partial", + "result": "corr(EI, exact Φ) across the family is +0.164 — weakly positive. Triadic forms carry more effective information (mean EI 1.87 vs 1.50) and slightly more causal emergence (0.126 vs 0.074). EI tracks integration weakly across the whole family, less tightly than the few-form Probe 49 suggested. probe_ei_family.py", + "path": "org_frontier/probes/probe_ei_family.py", + "reproduce": [ + "python -m org_frontier.probes.probe_ei_family" + ], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#92", + "concept": "Joint-influence (synergy) term (#1)", + "hypothesis": "A pairwise synergy feature lifts the family AUC toward 0.89", + "verdict": "refuted", + "result": "Adding an explicit interaction/synergy feature to marginal out-influence gives a CV-AUC of 0.695 vs 0.690 for marginal alone — a +0.005 lift. The gap from ~0.69 to the controlled 0.89 is not closed by a pairwise synergy term (consistent with Probe 13's null). Marginal influence already carries what this feature would add. probe_joint_influence_v2.py", + "path": "org_frontier/probes/probe_joint_influence_v2.py", + "reproduce": [ + "python -m org_frontier.probes.probe_joint_influence_v2" + ], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#93", + "concept": "CES counts predict the verdict (#2)", + "hypothesis": "Distinction/relation counts predict triadicity", + "verdict": "confirmed (perfectly)", + "result": "Cause-effect-structure counts from phi_structure separate the verdict: n_distinctions AUC 0.920, mean_order 0.897, n_relations 0.867, frac_higher_order 0.833; a combined logistic model reaches CV-AUC 1.000. The higher-order structure carries the verdict where per-node influence (#1, 0.69) cannot — an irreducible third party shows up as higher-order CES. probe_ces_predictor.py", + "path": "org_frontier/probes/probe_ces_predictor.py", + "reproduce": [ + "python -m org_frontier.probes.probe_ces_predictor" + ], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#94", + "concept": "N&S structural condition for n=3 (#45)", + "hypothesis": "Connectivity exactly decides triadicity", + "verdict": "refuted (almost)", + "result": "Over all 4096 arbitrary 3-node wirings (55.9% triadic), structural features (edge count, bidirectional-node count, strong connectivity) reach 92.97% — not 100%. The mined rule is essentially \"all three nodes bidirectionally coupled\"; that condition is necessary and ~93% sufficient", + "path": "org_frontier/probes/probe_ns_theorem.py", + "reproduce": [ + "python -m org_frontier.probes.probe_ns_theorem" + ], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#95", + "concept": "n=4 census (#4)", + "hypothesis": "Low triadic rate, triadic forms near the edge floor", + "verdict": "confirmed", + "result": "Large-sampling the n=4 strict-mediation family (N=3000): triadic rate 2.4% (vs 9.4% at n=3). Every triadic form sits at exactly the 2(n−1)=6 edge floor (min=mean=6); dyadic forms average 4.3 edges. Irreducible n=4 coordination is sparse and maximally lean. probe_n4_census.py", + "path": "org_frontier/probes/probe_n4_census.py", + "reproduce": [ + "python -m org_frontier.probes.probe_n4_census" + ], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#96", + "concept": "Edge floor at n=5, n=6 (#3)", + "hypothesis": "The 2(n−1) edge floor is tight as size grows", + "verdict": "confirmed (n=5)", + "result": "At n=5 the leanest triadic form has exactly 8 edges = 2(n−1) (2 triadic in 300, both at the floor). At n=6 no triadic form appeared in 150 samples, so the floor could not be bounded there. The bidirectional-coupling floor is tight at every size it can be measured. probe_min_triad_n56.py", + "path": "org_frontier/probes/probe_min_triad_n56.py", + "reproduce": [ + "python -m org_frontier.probes.probe_min_triad_n56" + ], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#97", + "concept": "Triadic rate past n=5 (#11)", + "hypothesis": "The rate floors at a small positive value", + "verdict": "refuted (vanishes)", + "result": "The strict-mediation triadic rate falls 9.4% (n=3) → 2.4% (n=4) → 0.67% (n=5) → 0/300 ≈ 0% (n=6). It does not floor at a positive rate; irreducible coordination through a single mediator effectively disappears as the group grows. A single mediator cannot sustain triadicity at scale. probe_scale_n6.py", + "path": "org_frontier/probes/probe_scale_n6.py", + "reproduce": [ + "python -m org_frontier.probes.probe_scale_n6" + ], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#98", + "concept": "Agent-based difficulty (#40)", + "hypothesis": "The verdict tracks independent-learner coordination difficulty", + "verdict": "refuted", + "result": "Two independent Q-learning bandits coordinating to hit each form's commit show no verdict signal: triadic mean difficulty 68.4 vs dyadic 76.8, rank-AUC 0.567. Coordination hardness for selfish learners and irreducibility of the form are different things — the structural verdict is not a behavioral-difficulty measure. probe_abm_difficulty.py", + "path": "org_frontier/probes/probe_abm_difficulty.py", + "reproduce": [ + "python -m org_frontier.probes.probe_abm_difficulty" + ], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#99", + "concept": "Surrogate transfer across scale (A1)", + "hypothesis": "A cheap model trained on n=3 predicts the verdict at larger n", + "verdict": "confirmed", + "result": "Eight size-invariant aggregate features (mean/min/max over nodes and pairs of entropy, MI, TE, plus full-joint O-information), random forest trained on the 256 n=3 forms (CV-AUC 1.000), transfers to n=4 at AUC 0.984 (10 triadic in 400) and n=5 at 0.983 (2 triadic — noisy). A surrogate fit on cheap small forms ranks the verdict at sizes where exact Φ is costly. probe_surrogate_transfer.py", + "path": "org_frontier/probes/probe_surrogate_transfer.py", + "reproduce": [ + "python -m org_frontier.probes.probe_surrogate_transfer" + ], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#100", + "concept": "Minimal feature set (A2)", + "hypothesis": "Two or three features carry the perfect recovery", + "verdict": "confirmed (one feature)", + "result": "Greedy forward selection reaches CV-AUC 1.000 with a single feature — one party's marginal entropy H[C] (H[W] equivalent by the role-symmetry automorphism #55). The verdict's cheap fingerprint on the corpus is essentially party liveness; single-feature rank-AUC was 0.81 (the RF uses a non-monotone band). Corpus-specific to strict mediation; the aggregate features transfer (#99)", + "path": "org_frontier/probes/probe_minimal_features.py", + "reproduce": [ + "python -m org_frontier.probes.probe_minimal_features" + ], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#101", + "concept": "Φ_AR failure mode (A3)", + "hypothesis": "Φ_AR's misses are the parity / pure-higher-order forms", + "verdict": "partial", + "result": "The parity triadic forms (Φ=0.5) score lower under Φ_AR (mean 0.457, mean rank 41.5) than the conjunctive triadic forms (0.655, rank 10.8) but still above dyadic (0.136, rank 138.5). The linear-AR proxy partly sees the synergistic forms, so they are a partial blind spot, not a total one. probe_phi_ar_failure.py", + "path": "org_frontier/probes/probe_phi_ar_failure.py", + "reproduce": [ + "python -m org_frontier.probes.probe_phi_ar_failure" + ], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#102", + "concept": "Exact cheap-CES predicate (A4)", + "hypothesis": "A single CES count is an exact verdict equivalent", + "verdict": "refuted (clean residual)", + "result": "No single-count threshold gives zero error. The best predicates (n_distinctions ≥ 3, frac_higher_order > 0, max_order ≥ 2) each have 8 errors, all false negatives, all on the same 8 parity / pure-higher-order forms (#56); no predicate ever produces a false positive. CES counts rank the verdict but do not define it — the parity forms have minimal cause-effect structure despite being triadic", + "path": "org_frontier/probes/probe_ces_predicate.py", + "reproduce": [ + "python -m org_frontier.probes.probe_ces_predicate" + ], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#103", + "concept": "Distributed vs single mediation at scale (B1)", + "hypothesis": "Two linked mediators sustain a larger core than one hub", + "verdict": "refuted", + "result": "At n=6 and n=7 the single all-required hub holds the whole group in one core (Φ=5 core 6 at n=6; Φ=6 core 7 at n=7); the two-hub form keeps a smaller core (4, then 5) at lower Φ (3, 4) — one party-group drops out. Distributing the mediation fragments the coordination rather than scaling it. What scales a large irreducible group is one all-demanding commit, not splitting the mediator", + "path": "org_frontier/probes/probe_distributed_mediators.py", + "reproduce": [ + "python -m org_frontier.probes.probe_distributed_mediators" + ], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#104", + "concept": "Topology map (B2)", + "hypothesis": "Topology classes differ in whether and how fast Φ grows", + "verdict": "confirmed", + "result": "At n=4→5, all four conjunctive topologies stay triadic but scale Φ differently: chain flat at 2.0 (fixed bottleneck, matches #57), single-hub and two-hub +1.0 per added member, all-to-all pool 12→20 (+8.0). Topology, not size, sets the scaling rate — serial mediation keeps one bottleneck while all-to-all coupling compounds. probe_topology_map.py", + "path": "org_frontier/probes/probe_topology_map.py", + "reproduce": [ + "python -m org_frontier.probes.probe_topology_map" + ], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#105", + "concept": "Lean triad at n=6 (B3)", + "hypothesis": "A lean triadic n=6 form exists despite 0/300 random", + "verdict": "confirmed", + "result": "The conjunctive single-hub form is triadic at every size with the full node set as its core and Φ = n−1: n=4 Φ=3, n=5 Φ=4, n=6 Φ=5, each at the 2(n−1) edge floor. Probe 97's 0/300 means triadic n=6 forms are vanishingly rare under random function fills, not absent — the all-required commit is the surviving triadic structure at scale. probe_lean_n6.py", + "path": "org_frontier/probes/probe_lean_n6.py", + "reproduce": [ + "python -m org_frontier.probes.probe_lean_n6" + ], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#106", + "concept": "Non-separability as the N&S residual (C1)", + "hypothesis": "Connectivity + synergy is an exact condition", + "verdict": "refuted", + "result": "Over the 4096 wirings, connectivity+synergy reaches 92.97% — identical to connectivity alone; the per-function interaction term lifts nothing. The 7% the graph cannot decide is not a non-separability feature; it is genuinely holistic (per-node/per-function features have a ceiling, as Probe 13 found). No exact structural N&S condition for n=3 triadicity. probe_nonseparability.py", + "path": "org_frontier/probes/probe_nonseparability.py", + "reproduce": [ + "python -m org_frontier.probes.probe_nonseparability" + ], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#107", + "concept": "Partner-modeling agents (D1)", + "hypothesis": "Theory-of-mind agents show the difficulty gap", + "verdict": "refuted", + "result": "Fictitious-play learners that best-respond to the partner's observed action distribution show rank-AUC 0.541 (triadic mean difficulty 66.6 vs dyadic 77.4) — no better than independent bandits (Probe 98, 0.567). The verdict is not a coordination-game-difficulty measure for any agent model tried; irreducibility and learning-to-coordinate are different things. probe_tom_agents.py", + "path": "org_frontier/probes/probe_tom_agents.py", + "reproduce": [ + "python -m org_frontier.probes.probe_tom_agents" + ], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#108", + "concept": "Resilience (D2)", + "hypothesis": "Φ tracks recovery from perturbation", + "verdict": "partial (weak)", + "result": "Triadic forms take longer to recover from a flipped node (7.08 vs 5.17 steps) but rank-AUC is only 0.618 — a weak directional signal, not a clean tracker. Φ is closer to orthogonal here than to predictive; resilience leans the expected way but does not carry the verdict. probe_resilience.py", + "path": "org_frontier/probes/probe_resilience.py", + "reproduce": [ + "python -m org_frontier.probes.probe_resilience" + ], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#109", + "concept": "Hysteresis (D3)", + "hypothesis": "Rebinding an ejected party is path-dependent", + "verdict": "confirmed", + "result": "A sticky mediator produces a hysteresis loop in coordination as the engagement drive is ramped up then down (loop area 0.071); a memoryless mediator does not (0.005, up and down legs coincide). With memory, a coordination latches and stays alive as engagement falls, so re-including a party is not the mirror of dropping it — the dynamical face of Probe 43. probe_hysteresis.py", + "path": "org_frontier/probes/probe_hysteresis.py", + "reproduce": [ + "python -m org_frontier.probes.probe_hysteresis" + ], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#110", + "concept": "Ejection order (E1)", + "hypothesis": "Parties drop in a fixed order as the commit tilts", + "verdict": "confirmed, nuanced", + "result": "Sweeping the principal's weight in a threshold commit (S=1 iff W+C+w_P·P ≥ 2): w_P=0 gives the balanced core {W,S,C}; w_P=1 (the 2-of-3 majority) factors entirely — no irreducible core, the majority-rule null of #10/#67; w_P≥2 gives the extractive {S,P}", + "path": "org_frontier/probes/probe_ejection_order.py", + "reproduce": [ + "python -m org_frontier.probes.probe_ejection_order" + ], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#111", + "concept": "Regulator coalition (E2)", + "hypothesis": "Two weak regulators jointly bind where one does not", + "verdict": "confirmed", + "result": "One observe-only regulator stays out (core {W,S,C}); a second observe-only regulator also stays out (still {W,S,C}); only when both regulators' approval gates the commit do they enter (core {W,S,C,R1,R2}, Φ=4.0). Number does not rescue observe-only oversight — a watchdog without a lever is a sink at any count; joint gating is the coalition analogue of veto+responsive (Probes 76, 66)", + "path": "org_frontier/probes/probe_regulator_coalition.py", + "reproduce": [ + "python -m org_frontier.probes.probe_regulator_coalition" + ], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#112", + "concept": "Modeling-invariant verdict (F1)", + "hypothesis": "An aggregate verdict is robust to grain and schedule", + "verdict": "confirmed (no invariant)", + "result": "Of 24 canonically-triadic forms, grain-1 synchronous keeps all 24; grain-2 keeps 0; sequential update keeps 0; an across-condition majority keeps 0. Coarse grain (#32) and sequential update (#62) both call triadic forms dyadic, so aggregating destroys the verdict", + "path": "org_frontier/probes/probe_invariant_verdict.py", + "reproduce": [ + "python -m org_frontier.probes.probe_invariant_verdict" + ], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#113", + "concept": "What the parity forms are (G1)", + "hypothesis": "The blind spot is exactly the XOR-family commits", + "verdict": "confirmed", + "result": "Among the 24 triadic corpus forms, the 8 with a parity (XOR/XNOR) commit all carry Φ=0.5 and the 16 with a conjunctive commit all carry Φ=2.0. The pure-higher-order forms (#56) that Φ_AR (#101) and every CES predicate (#102) miss are precisely the parity determinations. probe_parity_characterization.py", + "path": "org_frontier/probes/probe_parity_characterization.py", + "reproduce": [ + "python -m org_frontier.probes.probe_parity_characterization" + ], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#114", + "concept": "The parity detector (G2)", + "hypothesis": "A cheap feature separates parity-triadic from dyadic", + "verdict": "confirmed", + "result": "Of the 13 cheap features, MI[W;C] ranks parity-triadic against dyadic at AUC 0.931, close to its 0.948 on conjunctive-triadic. Party coupling is the signal. The magnitude proxies miss parity because parity Φ is tiny; the coupling between the parties stays normal, which is how the learned surrogate (#85) recovers these forms. probe_parity_detector.py", + "path": "org_frontier/probes/probe_parity_detector.py", + "reproduce": [ + "python -m org_frontier.probes.probe_parity_detector" + ], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#115", + "concept": "How parity scales (G3)", + "hypothesis": "The parity family scales differently from the conjunctive hub", + "verdict": "confirmed", + "result": "The XOR hub stays triadic with the full node set as its core at every size, while Φ halves each step: 0.5 at n=3, 0.25 at n=4, 0.125 at n=5 (Φ = 2^(2−n)). The conjunctive hub grows the other way, Φ = n−1. Two routes bind the whole group; one strengthens with size, one fades toward zero. probe_parity_scaling.py", + "path": "org_frontier/probes/probe_parity_scaling.py", + "reproduce": [ + "python -m org_frontier.probes.probe_parity_scaling" + ], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#116", + "concept": "The conjunctive law (H1)", + "hypothesis": "Φ = n−1 holds and OR scales like AND", + "verdict": "confirmed", + "result": "The AND-all hub holds the full node set as its core with Φ = n−1 at n=4,5,6,7 (Φ = 3,4,5,6); the OR-all hub matches exactly at n=4,5,6. The law is verified across four sizes (n=8 exact SIA does not finish in reasonable time, so the check stops at n=7). An all-required commit binds every member into one irreducible whole whose Φ grows one bit per added member. probe_conjunctive_law.py", + "path": "org_frontier/probes/probe_conjunctive_law.py", + "reproduce": [ + "python -m org_frontier.probes.probe_conjunctive_law" + ], + "runtime": "slow" + }, + { + "kind": "probe", + "id": "#117", + "concept": "Threshold commits (H2)", + "hypothesis": "Only extreme thresholds keep the full core", + "verdict": "confirmed", + "result": "Across the k-of-n threshold commits at n=4 and n=5, the full core survives only at the extremes: OR (k=1) and AND (k=all), both at Φ = n−1. Every intermediate threshold (2-of-3, 2-of-4, 3-of-4) factors to a dyadic verdict with no irreducible core. Whole-group irreducibility needs an all-or-nothing commit; a genuine threshold leaves no member pivotal enough to stay bound (extends #10, #67)", + "path": "org_frontier/probes/probe_threshold_scaling.py", + "reproduce": [ + "python -m org_frontier.probes.probe_threshold_scaling" + ], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#118", + "concept": "Symmetric vs asymmetric multi-hub (H3)", + "hypothesis": "The two-hub fragmentation was an asymmetry artifact", + "verdict": "confirmed (revises #103)", + "result": "A symmetric two-hub (both hubs read all parties and each other; each party reads both hubs) holds the full core at higher Φ than the single hub: Φ=8 vs 5 at n=6, Φ=10 vs 6 at n=7. The asymmetric two-hub of #103 dropped a party-group (core 4, 5)", + "path": "org_frontier/probes/probe_symmetric_multihub.py", + "reproduce": [ + "python -m org_frontier.probes.probe_symmetric_multihub" + ], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#119", + "concept": "Multi-hub Φ law (J1)", + "hypothesis": "Φ rises with mediator count toward the all-to-all pool", + "verdict": "confirmed, nuanced", + "result": "A symmetric m-hub at fixed n raises Φ as m grows: at n=6, Φ = 5, 8, 12, 20, 30 for m = 1..5, reaching the pool value when nearly every node is a mediator. Core membership is non-monotone, though: the full core holds at the extremes (single hub, near-pool) while intermediate hub counts (m=3,4 at n=6) raise Φ yet drop members", + "path": "org_frontier/probes/probe_multihub_law.py", + "reproduce": [ + "python -m org_frontier.probes.probe_multihub_law" + ], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#120", + "concept": "Parity dissolution size (J3)", + "hypothesis": "The parity hub fades below any floor at a computable size", + "verdict": "confirmed", + "result": "Φ = 2^(2−n) holds exactly at n=3..7 (0.5, 0.25, 0.125, 0.0625, 0.03125). The law puts Φ below 1e−6 at n > 21.9, so the parity hub is numerically dyadic from n=22. XOR coordination is irreducible at every size in exact arithmetic and undetectable past about two dozen members. probe_parity_dissolution.py", + "path": "org_frontier/probes/probe_parity_dissolution.py", + "reproduce": [ + "python -m org_frontier.probes.probe_parity_dissolution" + ], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#121", + "concept": "Control structures by type (L1)", + "hypothesis": "Everyday controls are conjunctive, parity controls are rare", + "verdict": "confirmed", + "result": "Dual authorization (W∧C) and escalation (W∨C) are conjunctive triads at Φ=2; allocate-to-exactly-one (XOR) and require-agreement (XNOR) are parity triads at Φ=0.5; a unilateral directive is dyadic. The familiar controls are the robust conjunctive kind that scales by the n−1 law (#116); the fragile parity kind (#115) is the exception, which is why the parity blind spot seldom bites real…", + "path": "org_frontier/probes/probe_control_structures.py", + "reproduce": [ + "python -m org_frontier.probes.probe_control_structures" + ], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#122", + "concept": "Single coupling feature transfers (K1)", + "hypothesis": "Mean pairwise MI transfers across size", + "verdict": "confirmed", + "result": "Mean pairwise mutual information alone ranks the verdict at AUC 0.942 at n=3, 0.947 at n=4, and 0.962 at n=5 (n=5 has one triadic, so its number is noisy). The cheap instrument reduces to one quantity — the mutual information between coordinating parties — and it carries across sizes the exact computation cannot reach, close to the eight-feature surrogate (#99). probe_coupling_transfer.py", + "path": "org_frontier/probes/probe_coupling_transfer.py", + "reproduce": [ + "python -m org_frontier.probes.probe_coupling_transfer" + ], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#123", + "concept": "Out-of-distribution generalization (K2)", + "hypothesis": "The surrogate generalizes to new topology families", + "verdict": "refuted", + "result": "The n=3 strict-mediation surrogate scores 8/20 (40%) on families it never trained on. Hub-shaped forms that resemble the training family pass (single-hub, OR-hub); chains, pools, and multi-hub forms fail. The transfer of #99 holds across size within a topology family, and it does not hold across topology. The instrument must be trained on the structural class it is applied to", + "path": "org_frontier/probes/probe_ood_surrogate.py", + "reproduce": [ + "python -m org_frontier.probes.probe_ood_surrogate" + ], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#124", + "concept": "Hybrid exact predicate (K3)", + "hypothesis": "CES-or-coupling is an exact cheap test", + "verdict": "refuted", + "result": "The CES higher-order flag misses the 8 parity forms (fp=0, fn=8); adding an MI[W;C] threshold lowers nothing to zero — dyadic back-channel forms (#45, #46) carry high party coupling, so a hard MI cut false-positives them. MI ranks the verdict well (#122) yet does not separate it cleanly, so only a learned combination is exact (#85)", + "path": "org_frontier/probes/probe_hybrid_predicate.py", + "reproduce": [ + "python -m org_frontier.probes.probe_hybrid_predicate" + ], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#125", + "concept": "Residual characterization (M1)", + "hypothesis": "The misclassified wirings share a dynamical signature", + "verdict": "confirmed", + "result": "Under the connectivity rule (n_bidir==3 ⇒ triadic), the residual is 288 forms, all false positives — 3-bidirectionally coupled yet dyadic, with zero false negatives. So all-three coupling is necessary and not sufficient. The residual forms collapse fast to a fixed point (mean max-period 1.08 vs 2.32 for the rest) and are never invertible. There is a dynamical signature connectivity does not see", + "path": "org_frontier/probes/probe_residual_characterization.py", + "reproduce": [ + "python -m org_frontier.probes.probe_residual_characterization" + ], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#126", + "concept": "Cheap-feature ceiling (M2)", + "hypothesis": "No cheap panel reaches 100%", + "verdict": "confirmed", + "result": "A random forest on the full 10-feature panel (connectivity, synergy, global dynamics) reaches 95.2% 5-fold CV accuracy, short of perfect. Top features are n_bidir, strong connectivity, and reachable-set size. Even with dynamics added, the verdict is not defined by cheap features; about 5% stays irreducibly holistic, a property of the whole cause-effect structure (confirms #13, #106)", + "path": "org_frontier/probes/probe_residual_ceiling.py", + "reproduce": [ + "python -m org_frontier.probes.probe_residual_ceiling" + ], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#127", + "concept": "Dynamics ablation (M3)", + "hypothesis": "Global dynamics adds nothing beyond connectivity and synergy", + "verdict": "refuted (it helps)", + "result": "Decision-tree accuracy is 0.9297 for connectivity, 0.9297 with synergy added (no lift, matching #106), and 0.9590 with global dynamics added (+0.029). Attractor structure — reachability and period — carries part of the residual that the graph and the function tables miss, closing roughly half of the 7% gap. The rest remains beyond cheap features. probe_dynamics_ablation.py", + "path": "org_frontier/probes/probe_dynamics_ablation.py", + "reproduce": [ + "python -m org_frontier.probes.probe_dynamics_ablation" + ], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#128", + "concept": "Intermediate-hub drop (N1)", + "hypothesis": "The dropped members are the peripheral parties", + "verdict": "confirmed", + "result": "At the intermediate hub counts where the core is not full (#119), every hub stays in the core and the parties drop: n=6 m=3 gives core {H0,H1,H2,P2} with P0,P1 out; n=6 m=4 gives the four hubs plus one party", + "path": "org_frontier/probes/probe_intermediate_hub.py", + "reproduce": [ + "python -m org_frontier.probes.probe_intermediate_hub" + ], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#129", + "concept": "Mixed-topology surrogate (N2)", + "hypothesis": "Diverse training fixes the family-specificity", + "verdict": "partial", + "result": "Training on strict mediation plus random arbitrary wirings lifts held-out archetype accuracy from 45% to 60%, but both sit below the 85% majority-triadic baseline. Mixing topologies broadens the signal without reaching cross-topology generalization; the cheap features carry a family-specific verdict signal that diverse data only partly widens", + "path": "org_frontier/probes/probe_mixed_topology_surrogate.py", + "reproduce": [ + "python -m org_frontier.probes.probe_mixed_topology_surrogate" + ], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#130", + "concept": "Attractor condition (P1)", + "hypothesis": "Collapsing dynamics is the dyadic condition given coupling", + "verdict": "refuted", + "result": "Among the 2576 three-way-coupled wirings (2288 triadic, 288 dyadic), no attractor predicate separates the verdict. A collapsed map (max_period 1) covers 264 of the 288 dyadic residual forms, but 562 triadic forms collapse the same way, so the predicate runs below the majority baseline; the best combination reaches only 0.92. Collapsing dynamics does not isolate the residual", + "path": "org_frontier/probes/probe_attractor_condition.py", + "reproduce": [ + "python -m org_frontier.probes.probe_attractor_condition" + ], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#131", + "concept": "The holistic core (P2)", + "hypothesis": "The unreachable ~5% is a scattered near-boundary tail", + "verdict": "confirmed", + "result": "A full-feature random forest misclassifies 196 wirings (4.8%), all three-way-coupled. Their predicted probability sits at the boundary — mean", + "path": "org_frontier/probes/probe_holistic_core.py", + "reproduce": [ + "python -m org_frontier.probes.probe_holistic_core" + ], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#132", + "concept": "The scaling-law zoo (Q1)", + "hypothesis": "Topologies fall into distinct Φ(n) law classes", + "verdict": "confirmed", + "result": "Five families, four laws. The chain is constant at Φ=2 and the ring is constant at Φ=4 for n≥4 — local two-neighbor coupling caps integration at a size-independent value. The conjunctive hub is linear (Φ=n−1), the pool is super-linear (Φ=n(n−1): 6, 12, 20, 30), and the parity hub decays (Φ=2^(2−n))", + "path": "org_frontier/probes/probe_scaling_zoo.py", + "reproduce": [ + "python -m org_frontier.probes.probe_scaling_zoo" + ], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#133", + "concept": "Party peer coupling (R1)", + "hypothesis": "Peer edges keep the parties in the core", + "verdict": "confirmed", + "result": "Adding party-to-party edges restores the full core at every intermediate hub count where the plain m-hub dropped members: n=6 m=3 goes from core 4 (Φ=12) to the full core 6 (Φ=30); n=6 m=4 from core 5 to 6. The parties dropped only because they reached the group through the hubs; a lateral tie among them keeps each pivotal, and the integration climbs to the pool value", + "path": "org_frontier/probes/probe_party_peer_coupling.py", + "reproduce": [ + "python -m org_frontier.probes.probe_party_peer_coupling" + ], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#134", + "concept": "Cross-topology coupling feature (R2)", + "hypothesis": "A normalized coupling feature separates the verdict across topologies", + "verdict": "refuted", + "result": "Triadic pools carry near-zero mean pairwise MI (0.0002) — all-to-all coupling spreads integration so thin that pairs look independent — while dyadic back-channel forms carry high MI, so triadic forms average lower coupling (0.092) than dyadic ones (0.225) across topologies. Every coupling feature, raw or normalized, scores below chance (AUC 0.10–0.20)", + "path": "org_frontier/probes/probe_invariant_feature.py", + "reproduce": [ + "python -m org_frontier.probes.probe_invariant_feature" + ], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#135", + "concept": "Thompson ordering (H1)", + "hypothesis": "The naive pooled < sequential < reciprocal ordering fails", + "verdict": "confirmed", + "result": "Matched triple at n=3 (AND family): pooled (independent relay) dyadic Φ=0.0; sequential (pass-through chain) triadic Φ=2.0; reciprocal (feedback cycle) triadic Φ=2.0. Sequential ties reciprocal, so the top step collapses. Control (chain #57) triadic Φ=2.0 {W,SC} passed. probe_thompson_ordering.py", + "path": "org_frontier/probes/probe_thompson_ordering.py", + "reproduce": [ + "python -m org_frontier.probes.probe_thompson_ordering" + ], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#136", + "concept": "Pooled verdict-ambiguity (H2)", + "hypothesis": "Two pooled encodings split, on joint determination", + "verdict": "confirmed", + "result": "Independent-contribution pool dyadic (Φ=0, major complex {W,S}); all-required pool triadic (Φ=2.0 at n=3, 3.0 at n=4, surplus +1.0). Opposite verdicts at fixed n=3, same family. Joint determination is the switch. probe_thompson_pooled.py", + "path": "org_frontier/probes/probe_thompson_pooled.py", + "reproduce": [ + "python -m org_frontier.probes.probe_thompson_pooled" + ], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#137", + "concept": "Sequential verdict-ambiguity (H3)", + "hypothesis": "A return edge decides chain vs hand-off", + "verdict": "confirmed", + "result": "Propagating chain triadic Φ=2.0 MIP {W,SC}; acyclic source→sink hand-off dyadic Φ=0. The return edge decides. Control passed. probe_thompson_sequential.py", + "path": "org_frontier/probes/probe_thompson_sequential.py", + "reproduce": [ + "python -m org_frontier.probes.probe_thompson_sequential" + ], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#138", + "concept": "Reciprocal needs a cycle (H4)", + "hypothesis": "Triadic only with a closed feedback cycle, not bidirectional labels", + "verdict": "confirmed", + "result": "Cyclic [x1, x0&x2, x1] triadic Φ=2.0 MIP {W,SC}, core {W,S,C}; bidirectional-acyclic [x1, x0&x2, x2] (C'=C self-loop) dyadic Φ=0. Both carry two-way arrows; only the closed loop binds. probe_thompson_reciprocal.py", + "path": "org_frontier/probes/probe_thompson_reciprocal.py", + "reproduce": [ + "python -m org_frontier.probes.probe_thompson_reciprocal" + ], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#139", + "concept": "Two-primitive account (H5)", + "hypothesis": "Verdict is a function of {joint determination, feedback cycle}", + "verdict": "refuted", + "result": "Thompson type spans both verdicts, but four forms share the pair (True, True) — three with identical connectivity matrices — yet split: cyclic triadic Φ=2.0 vs bidirectional-acyclic dyadic Φ=0; the cycle predicate also fires on a dyadic pool. The verdict turns on closed cause-effect loops, finer than the pair. probe_thompson_primitives.py", + "path": "org_frontier/probes/probe_thompson_primitives.py", + "reproduce": [ + "python -m org_frontier.probes.probe_thompson_primitives" + ], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#140", + "concept": "Q6/H1", + "hypothesis": "smoothness of Φ_MIP(p) under commit noise", + "verdict": "partial", + "result": "exp fit max\\", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#141", + "concept": "Q6/H2", + "hypothesis": "susceptibility dΦ/dp peaks at interior p", + "verdict": "REFUTED", + "result": "\\", + "path": "org_frontier/probes/probe_q6_susceptibility.py", + "reproduce": [ + "python -m org_frontier.probes.probe_q6_susceptibility" + ], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#142", + "concept": "Q6/H3", + "hypothesis": "verdict flips only at p=0.5, no interior p*", + "verdict": "CONFIRMED", + "result": "noisy conjunctive chain, 51-pt grid p=0.00..0.50, classify+PHI_EPS=1e-9; triadic at all 49 interior pts + p=0; dyadic only at p=0.5 (Phi_MIP 2.0->0.0); major complex {W,S,C} throughout. results/q6_verdict_interior.csv", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#143", + "concept": "Q6/H4", + "hypothesis": "verdict/Φ decoupling", + "verdict": "confirmed", + "result": "single triadic->dyadic flip in [0.49,0.50] (width 0.01, constant before/after); max \\", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#144", + "concept": "Q6/H5 monotonicity", + "hypothesis": "Φ_MIP strictly decreasing in commit noise, no interior max", + "verdict": "confirmed", + "result": "51-pt sweep: 0 rises (δ_k>1e-6), 0 interior peaks, min δ=-0.1006/max δ=-0.0111 all negative; instrument p=0=2.0 triadic {W,SC}; #81 U-shape control flags 25 rises", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#145", + "concept": "Q7/H1", + "hypothesis": "party (W) vs mediator (S) flip-noise Φ(p) sweeps, triadic conjunctive chain", + "verdict": "CONFIRMED (g_max>1e-3)", + "result": "g_max=0.9237 @ p=0.01; Φ_W(0.1)=0.7632 vs Φ_S(0.1)=1.1887 (g=−0.4255); self-ctrl=0.0; instrument p=0=2.0 triadic {W,SC}. probe_party_vs_mediator.py", + "path": "org_frontier/probes/probe_party_vs_mediator.py", + "reproduce": [ + "python -m org_frontier.probes.probe_party_vs_mediator" + ], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#146", + "concept": "Q7/H2", + "hypothesis": "W-noise vs C-noise are the same curve", + "verdict": "CONFIRMED", + "result": "exact-overlay null on d(p)=Φ_W−Φ_C, +flip-point match, +H1-gap positive control: 0/51 points \\", + "path": "org_frontier/probes/probe_wc_symmetry.py", + "reproduce": [ + "python -m org_frontier.probes.probe_wc_symmetry" + ], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#147", + "concept": "Q7/H4", + "hypothesis": "party-noise steeper slope & below across interior", + "verdict": "REFUTED", + "result": "m_W=102.44 > m_S=10.06 (party 10.2x steeper, slope half holds) but Φ_W>Φ_S at 17/49 interior p (first reversal p=0.33); ordering reverses → refuted. Instrument 2.0 triadic {W,SC}; H1 g_max=0.924; self-ctrl Δ=0. probe_slope_asymmetry.py / results/q7_slope_asymmetry.csv", + "path": "org_frontier/probes/probe_slope_asymmetry.py", + "reproduce": [ + "python -m org_frontier.probes.probe_slope_asymmetry" + ], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#148", + "concept": "Q7/H5", + "hypothesis": "joint-party non-additivity", + "verdict": "partial", + "result": "r_max=1.4558 at p=0.01 (>1e-3=True); Φ_WC(0.1)=1.374 vs Φ_pred(0.1)=0.291 vs Φ_W(0.1)=0.763 (joint ABOVE separable null and ABOVE single party); p_eff(WC)=0.5 vs p_eff(W)=0.5 (earlier>=1step=False — collapse NOT advanced); self-control r_max=0e+00; H2 reuse max\\", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#149", + "concept": "Q7/H3", + "hypothesis": "party verdict-collapse point vs the degenerate endpoint", + "verdict": "REFUTED", + "result": "both strict and effective collapse sit at the degenerate endpoint for both sites: p_v(W)=p_v(S)=0.5, p_eff(W)=p_eff(S)=0.5; W-noise stays triadic through p=0.49 (Φ_W=0.0146) and flips dyadic only at p=0.5. Party noise leaves the verdict on the endpoint where mediator noise also leaves it; the seat changes Φ (probe 145) but not the flip point. Instrument p=0=2.0 triadic {W,SC}", + "path": "org_frontier/probes/probe_verdict_flip.py", + "reproduce": [ + "python -m org_frontier.probes.probe_verdict_flip" + ], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#150", + "concept": "Q8/H1", + "hypothesis": "parity-vs-conjunctive verdict-flip, 4×51-pt flip-noise sweeps", + "verdict": "REFUTED", + "result": "p_v(parity,3)=p_v(parity,4)=p_v(conj,3)=p_v(conj,4)=0.50; all forms Phi_MIP>0 at every interior p, dyadic only at endpoint; parity does not flip interior", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#151", + "concept": "Q8", + "hypothesis": "H2 — parity Φ decays faster than conjunctive in flip fraction (normalized decay)", + "verdict": "REFUTED", + "result": "parity wins 0/49 interior pts at n=3 and n=4 (conj ≥ parity at all 49); L_par=2.466 vs L_conj=5.162 (n=3), 10.173 (n=4); parity Φ̂ n-independent (0.763 at p=0.10 both sizes), conj decays faster — opposite direction", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#152", + "concept": "Q8/H3", + "hypothesis": "flip-gap parity vs conjunctive widens with n", + "verdict": "REFUTED", + "result": "strict G_v(3)=G_v(4)=0 (both flip only at p=0.5); effective register governs: G_eff(3)=-0.01, G_eff(4)=-0.04 so G(4) phi_wc=0.0) and stays {S} through k=6 — the #43 direction: parties factor out, mediator becomes the self-absorbed core; core never reads {W,C}", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#157", + "concept": "Q9/H3", + "hypothesis": "construction split (hold-for-k vs prob-1/k) on two_sided_match, k=1..6", + "verdict": "k_det=2 (Phi->0), k_prob=none (prob Phi=2.0,0.271,0.138,0.092,0.069,0.055); ctrl k=1 both triadic Phi=2.0 {W,SC}", + "result": "CONFIRMED — the slow-commit model is load-bearing", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#158", + "concept": "Q9-H4", + "hypothesis": "period-lock: k*_det vs synchronous attractor period (hold-for-k, S-only)", + "verdict": "gig_false_dyad (P=1) k_det=2; two_sided_match (P=2) k_det=2; both Φ_MIP 2.0→0 at k=2", + "result": "REFUTED — both flip at the same period-independent k*_det=2; grain-2 hold spans a full cycle on the period-1 form, so the flip does not track P", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#159", + "concept": "Q9-H5", + "hypothesis": "clock-stretching vs #62 sequential factorization fingerprint (two_sided_match)", + "verdict": "CONFIRMED (band only)", + "result": "hold k*_det=2, dyadic band k=2..6 (contiguous), residual Φ_MIP=0.0; six #62 orders all dyadic Φ_MIP=0.0; grain-2 dyadic Φ_MIP=0.0; MIP-cut & residual-Φ identical (\"None\"/0.0) across all routes — only discriminator that fires is the temporal collapse band (hold holds over k=2..6 vs #62 per-order, no ratio band)", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#160", + "concept": "Q10 H1", + "hypothesis": "buffer_pipeline / two_sided_match", + "verdict": "d=0,1,2,3", + "result": "verdict triadic at all d (no flip), Φ_MIP=[2.0,1.0,2.0,2.0], dΦ/dd=[-1,+1,0]; pass-through verified (no self-edge); Φ rises at d1→2 → REFUTED (verdict-robust but not magnitude-monotone)", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#161", + "concept": "Q10-H2", + "hypothesis": "buffer_pipeline two_sided_match d=1,2,3 micro-grain maximal_complex + buffer singleton phi + black-box re-read", + "verdict": "REFUTED", + "result": "d=1 core={S,C,B1} ejects W ({W,S,C} not recovered, Phi=1.0); d=2 core={W,S,C,B1,B2}, d=3 core={W,S,C,B1,B2,B3} — interior B_i NOT excluded though phi_{B_i}=0.0<1e-9; instrument d=0 triadic Phi=2.0 {W,S,C} PASS; black-box absorbs to dyadic {S} at d>=2 (grain branch)", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#162", + "concept": "Q10 H3", + "hypothesis": "construction split: buffer pipeline vs lagged read on two_sided_match, d=0..3", + "verdict": "CONFIRMED", + "result": "disagree at d=1 (W-S-C complex buf{C,S} vs lag{W,S,C}) and d=2 (lag dyadic Φ=0 vs buf triadic Φ=2.0); lagged = single composed 3-node TPM, buffer = 3+d nodes; control Φ=2.0/{W,SC} passed", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#163", + "concept": "Q10/H4", + "hypothesis": "no d=2 threshold (buffer pipeline)", + "verdict": "two_sided_match (P=2) & gig_false_dyad (P=1), d=0..3", + "result": "Φ_MIP(d)=[2,1,2,2] both forms; dΦ/dd=[-1,+1,0]; d=2 off d1-d3 line (resid 0.5>TOL); verdict triadic throughout", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#164", + "concept": "Q10 H5", + "hypothesis": "probe_factorization_fingerprint.py", + "verdict": "transport-delay (buffer pipeline) vs slowed-clock (Q9 hold-for-k @ k*_det=2) fingerprints on two_sided_match, matched grain", + "result": "instrument ctrl PASS (triadic Φ=2.0 {W,SC}); transport triadic at d=1,2,3 (Φ=1.0,2.0,2.0), W-S-C cores {S,C}/{W,S,C}/{W,S,C}, never self-absorbed {S}, no buffer self-OR, MIP cuts {WS,CB1}/{WS,B1,CB2}/{WS,B1B2,CB3}; hold-for-k dyadic Φ=0 self-absorbed {S} core", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#165", + "concept": "Q11-H1", + "hypothesis": "rotating ring is a fifth Phi(n) law distinct from capped Phi=4", + "verdict": "CONFIRMED", + "result": "rot_ring Phi_MIP=[2,2,2,2] over n=3..6 (constant, triadic, full core, period=n) vs and_ring=4.0 over n=4..6 (period<=2); gap -2.0 at every matched n; controls strict-med triad=2.0, and_ring(3)=6.0, and_ring(4)=4.0 all passed", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#166", + "concept": "Q11-H2", + "hypothesis": "period_term", + "verdict": "commit_ring(n,p) Delta_p Phi: n=3 -2.0, n=4 -3.0, n=5 -4.0, n=6 -5.0 (Phi=n-1 at p=1 -> 0 at p>=2); rot_ring corroborant flat Phi=2.0 at n=3..6; controls triad 2.0/and_ring(4)4.0/(3)6.0/parity_hub(5)0.125 PASS", + "result": "CONFIRMED — period p is a term in the law: Phi moves when only p changes at every fixed n", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#167", + "concept": "Q11 H3", + "hypothesis": "flip_ring(n) NOT-of-left-neighbor vs parity_hub floor 2^(2-n), n=3..6", + "verdict": "CONFIRMED", + "result": "Phi_flip=[2,2,2,2] (constant, full core) vs hub=[0.5,0.25,0.125,0.0625]; gaps widen [1.5,1.75,1.875,1.9375], ratios=1.0 (no halving); ctrl single_hub(3)=2.0 triadic, parity_hub(5)=0.125 full core", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#168", + "concept": "Q11 H4", + "hypothesis": "rot_ring & commit_ring(n,2) triadic + full core at n=3..6", + "verdict": "REFUTED", + "result": "rot_ring triadic Phi=2.0 full core n=3,4,5; commit_ring(n,2) DYADIC Phi=0.0 core shed to {x0} at n=3,4,5 (collapses to copy-x0 map); IC and_ring(4)=4.0/and_ring(3)=6.0/strict-triad=2.0 all PASS", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#169", + "concept": "Q11 H5", + "hypothesis": "grain band of rot_ring", + "verdict": "g*(n) vs period p=n, grain g=1..n+1", + "result": "g=[3,2,5,2] for n=3,4,5,6; not non-decreasing, g(6)=2 < g*(3)=3; odd n flip at g=p, even n at g=2 (parity-of-n, not period-scaling)", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#170", + "concept": "Gate bijectivity (H1)", + "hypothesis": "Bijective channel gates separate Phi=2.0 from monotone caps", + "verdict": "confirmed", + "result": "32/32 Phi=2.0 pairs bijective; 0 non-bijective at ceiling; 16 bijective below ceiling. probe_gate_bijectivity.py", + "path": "org_frontier/probes/probe_gate_bijectivity.py", + "reproduce": [ + "python -m org_frontier.probes.probe_gate_bijectivity" + ], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#171", + "concept": "TPM permutation (H2)", + "hypothesis": "Global TPM permutation accompanies Phi=2.0", + "verdict": "refuted", + "result": "24/24 Phi=2.0 pairs non-permutation TPM; 0/8 symmetric-AND permutation. probe_tpm_permutation.py", + "path": "org_frontier/probes/probe_tpm_permutation.py", + "reproduce": [ + "python -m org_frontier.probes.probe_tpm_permutation" + ], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#172", + "concept": "Seam entropy (H3)", + "hypothesis": "H(W,C\\", + "verdict": "S) peaks at XOR Phi=2.0 pairs", + "result": "confirmed", + "path": "org_frontier/probes/probe_seam_entropy.py", + "reproduce": [ + "python -m org_frontier.probes.probe_seam_entropy" + ], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#173", + "concept": "Commit alignment (H4)", + "hypothesis": "One-sided Phi=2.0 requires commit-topology match", + "verdict": "confirmed", + "result": "0 misalignments; worker_xor 4/8 (C-centric); counterpart_xor 4/8 (W-centric); symmetric_xor 8/8. probe_commit_alignment.py", + "path": "org_frontier/probes/probe_commit_alignment.py", + "reproduce": [ + "python -m org_frontier.probes.probe_commit_alignment" + ], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#174", + "concept": "Parity necessity (H5)", + "hypothesis": "Only parity-class gates restore Phi=2.0", + "verdict": "confirmed", + "result": "0/64 monotone at ceiling; symmetric_xnor 8/8 at Phi=2.0. probe_parity_necessity.py", + "path": "org_frontier/probes/probe_parity_necessity.py", + "reproduce": [ + "python -m org_frontier.probes.probe_parity_necessity" + ], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#175", + "concept": "Misaligned partition (H1)", + "hypothesis": "Below-ceiling bijective pairs are misaligned one-sided only", + "verdict": "confirmed", + "result": "16/16 below misaligned one-sided; 0 below symmetric; 0 below aligned; 32 ceiling (16 one-sided + 16 symmetric). probe_misaligned_partition.py", + "path": "org_frontier/probes/probe_misaligned_partition.py", + "reproduce": [ + "python -m org_frontier.probes.probe_misaligned_partition" + ], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#176", + "concept": "Mid-rung uniform (H2)", + "hypothesis": "Below half at 0.415037; ceiling at 2.0", + "verdict": "confirmed", + "result": "16/16 below at 0.415037 (spread 0); 32/32 ceiling at 2.0 (spread 0). probe_mid_rung_uniform.py", + "path": "org_frontier/probes/probe_mid_rung_uniform.py", + "reproduce": [ + "python -m org_frontier.probes.probe_mid_rung_uniform" + ], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#177", + "concept": "Seam entropy split (H3)", + "hypothesis": "Mean H(W,C\\", + "verdict": "S) lower on below half", + "result": "confirmed", + "path": "org_frontier/probes/probe_seam_entropy_split.py", + "reproduce": [ + "python -m org_frontier.probes.probe_seam_entropy_split" + ], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#178", + "concept": "MIP S-singleton (H4)", + "hypothesis": "Below half at MIP {S,WC} exclusively", + "verdict": "confirmed", + "result": "16/16 below at 2 parts: {S,WC}; 0/32 ceiling at that partition. probe_mip_singleton.py", + "path": "org_frontier/probes/probe_mip_singleton.py", + "reproduce": [ + "python -m org_frontier.probes.probe_mip_singleton" + ], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#179", + "concept": "XNOR alignment flip (H5)", + "hypothesis": "XNOR inverts one-sided alignment vs XOR", + "verdict": "confirmed", + "result": "0 XNOR ceiling misalignments; worker_xnor 4/4 W-centric; counterpart_xnor 4/4 C-centric; XOR aligned 8/8 at ceiling. probe_xnor_alignment_flip.py", + "path": "org_frontier/probes/probe_xnor_alignment_flip.py", + "reproduce": [ + "python -m org_frontier.probes.probe_xnor_alignment_flip" + ], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#180", + "concept": "Complete-only tie (H1)", + "hypothesis": "Symmetric ceiling has complete-only official tie set", + "verdict": "confirmed", + "result": "16/16 symmetric at 3 parts: {W,S,C} only; 0/16 with outer-party in ties. probe_complete_only_tie.py", + "path": "org_frontier/probes/probe_complete_only_tie.py", + "reproduce": [ + "python -m org_frontier.probes.probe_complete_only_tie" + ], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#181", + "concept": "One-sided dual tie (H2)", + "hypothesis": "One-sided ceiling ties one outer-party cut with complete", + "verdict": "confirmed", + "result": "16/16 one-sided with exactly one outer-party two-part plus complete in official ties. probe_one_sided_outer_tie.py", + "path": "org_frontier/probes/probe_one_sided_outer_tie.py", + "reproduce": [ + "python -m org_frontier.probes.probe_one_sided_outer_tie" + ], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#182", + "concept": "Directional symmetry (H3)", + "hypothesis": "Directional W/C symmetry distinguishes topology classes", + "verdict": "confirmed", + "result": "16/16 symmetric directionally symmetric; 0/16 one-sided. probe_directional_symmetry.py", + "path": "org_frontier/probes/probe_directional_symmetry.py", + "reproduce": [ + "python -m org_frontier.probes.probe_directional_symmetry" + ], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#183", + "concept": "Dual outer excluded (H4)", + "hypothesis": "Both outer-party cuts at system Phi but excluded on symmetric", + "verdict": "confirmed", + "result": "16/16 symmetric with both {W,SC} and {WS,C} at system Phi; 0/16 outer-party in official ties. probe_dual_outer_excluded.py", + "path": "org_frontier/probes/probe_dual_outer_excluded.py", + "reproduce": [ + "python -m org_frontier.probes.probe_dual_outer_excluded" + ], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#184", + "concept": "Min norm tie-break (H5)", + "hypothesis": "Minimum normalized_phi predicts official tie set", + "verdict": "confirmed", + "result": "32/32 ceiling pairs match min-norm prediction; 0 mismatches. probe_min_norm_tiebreak.py", + "path": "org_frontier/probes/probe_min_norm_tiebreak.py", + "reproduce": [ + "python -m org_frontier.probes.probe_min_norm_tiebreak" + ], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#185", + "concept": "Recipient seam rule (H1)", + "hypothesis": "Back-channel recipient determines tied singleton", + "verdict": "confirmed", + "result": "16/16 recipient matches tied cut; worker→{W,SC}, counterpart→{WS,C}. probe_recipient_seam_rule.py", + "path": "org_frontier/probes/probe_recipient_seam_rule.py", + "reproduce": [ + "python -m org_frontier.probes.probe_recipient_seam_rule" + ], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#186", + "concept": "Dual norm split (H2)", + "hypothesis": "Dual at-system outer cuts with 0.5/1.0 norm split", + "verdict": "confirmed", + "result": "16/16 both outer at system Phi; tied norm 0.5, excluded 1.0. probe_dual_norm_split.py", + "path": "org_frontier/probes/probe_dual_norm_split.py", + "reproduce": [ + "python -m org_frontier.probes.probe_dual_norm_split" + ], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#187", + "concept": "Norm ratio (H3)", + "hypothesis": "Excluded/tied normalized_phi ratio exactly 2.0", + "verdict": "confirmed", + "result": "16/16 at ratio 2.0; spread 0. probe_norm_ratio.py", + "path": "org_frontier/probes/probe_norm_ratio.py", + "reproduce": [ + "python -m org_frontier.probes.probe_norm_ratio" + ], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#188", + "concept": "Complete norm equal (H4)", + "hypothesis": "Complete min norm equals tied outer cut", + "verdict": "confirmed", + "result": "16/16 complete norm equals tied outer (0.5). probe_complete_norm_equal.py", + "path": "org_frontier/probes/probe_complete_norm_equal.py", + "reproduce": [ + "python -m org_frontier.probes.probe_complete_norm_equal" + ], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#189", + "concept": "Gate-invariant direction (H5)", + "hypothesis": "XOR/XNOR preserve recipient→singleton mapping", + "verdict": "confirmed", + "result": "8/8 worker at {W,SC}; 8/8 counterpart at {WS,C}. probe_gate_invariant_direction.py", + "path": "org_frontier/probes/probe_gate_invariant_direction.py", + "reproduce": [ + "python -m org_frontier.probes.probe_gate_invariant_direction" + ], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#190", + "concept": "Severed-edge ratio (H1)", + "hypothesis": "Recipient severs twice as many cut-matrix ones", + "verdict": "confirmed", + "result": "16/16 cut_ones ratio 2.0 (4 vs 2); spread 0. probe_severed_edge_ratio.py", + "path": "org_frontier/probes/probe_severed_edge_ratio.py", + "reproduce": [ + "python -m org_frontier.probes.probe_severed_edge_ratio" + ], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#191", + "concept": "Norm factor ratio (H2)", + "hypothesis": "Excluded/tied normalization_factor ratio 2.0", + "verdict": "confirmed", + "result": "16/16 ratio 2.0 (0.5 vs 0.25); spread 0. probe_norm_factor_ratio.py", + "path": "org_frontier/probes/probe_norm_factor_ratio.py", + "reproduce": [ + "python -m org_frontier.probes.probe_norm_factor_ratio" + ], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#192", + "concept": "Equal phi baseline (H3)", + "hypothesis": "Unnormalized phi identical on both outer cuts", + "verdict": "confirmed", + "result": "16/16 phi ratio 1.0 (both 2.0). probe_equal_phi_baseline.py", + "path": "org_frontier/probes/probe_equal_phi_baseline.py", + "reproduce": [ + "python -m org_frontier.probes.probe_equal_phi_baseline" + ], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#193", + "concept": "Complete cut match (H4)", + "hypothesis": "Complete shares recipient cut geometry", + "verdict": "confirmed", + "result": "16/16 cut_ones=4 and norm_factor=0.25 match. probe_complete_cut_match.py", + "path": "org_frontier/probes/probe_complete_cut_match.py", + "reproduce": [ + "python -m org_frontier.probes.probe_complete_cut_match" + ], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#194", + "concept": "Inverse cut law (H5)", + "hypothesis": "norm_phi ratio equals cut_ones ratio", + "verdict": "confirmed", + "result": "16/16 identity holds (ratio 2.0). probe_inverse_cut_law.py", + "path": "org_frontier/probes/probe_inverse_cut_law.py", + "reproduce": [ + "python -m org_frontier.probes.probe_inverse_cut_law" + ], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#195", + "concept": "Cross-edge shared (H1)", + "hypothesis": "Back-channel cross-edge severed in both outer cuts", + "verdict": "confirmed", + "result": "16/16 cross-edge in both tied and excluded sets; 0 exclusive. probe_cross_edge_shared.py", + "path": "org_frontier/probes/probe_cross_edge_shared.py", + "reproduce": [ + "python -m org_frontier.probes.probe_cross_edge_shared" + ], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#196", + "concept": "Symdiff size (H2)", + "hypothesis": "Symmetric difference exactly four directed edges", + "verdict": "confirmed", + "result": "16/16 at", + "path": "org_frontier/probes/probe_symdiff_size.py", + "reproduce": [ + "python -m org_frontier.probes.probe_symdiff_size" + ], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#197", + "concept": "Cross subtract (H3)", + "hypothesis": "Removing cross-edge equalizes severed counts", + "verdict": "refuted", + "result": "0/16 equal; adj 3 vs 1 on all pairs. probe_cross_subtract_equal.py", + "path": "org_frontier/probes/probe_cross_subtract_equal.py", + "reproduce": [ + "python -m org_frontier.probes.probe_cross_subtract_equal" + ], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#198", + "concept": "Mediator-only diff (H4)", + "hypothesis": "Two mediator edges in recipient-only difference", + "verdict": "confirmed", + "result": "16/16 mediator count 2; adj ratio 3.0, spread 0. probe_mediator_only_diff.py", + "path": "org_frontier/probes/probe_mediator_only_diff.py", + "reproduce": [ + "python -m org_frontier.probes.probe_mediator_only_diff" + ], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#199", + "concept": "Recipient template (H5)", + "hypothesis": "Worker/counterpart edge templates gate-invariant", + "verdict": "confirmed", + "result": "8/8 worker and 8/8 counterpart match fixed templates. probe_recipient_template.py", + "path": "org_frontier/probes/probe_recipient_template.py", + "reproduce": [ + "python -m org_frontier.probes.probe_recipient_template" + ], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#200", + "concept": "Return-path recipient (H1)", + "hypothesis": "Q43 return-path typing tracks back-channel recipient", + "verdict": "confirmed", + "result": "8/8 worker→sequential, 8/8 counterpart→reciprocal; 0 other. probe_return_path_tracks_recipient.py", + "path": "org_frontier/probes/probe_return_path_tracks_recipient.py", + "reproduce": [ + "python -m org_frontier.probes.probe_return_path_tracks_recipient" + ], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#201", + "concept": "Uniform triadic (H2)", + "hypothesis": "All ceiling pairs triadic at max_phi=2.0", + "verdict": "confirmed", + "result": "16/16 triadic; max_phi spread 0. probe_uniform_triadic_verdict.py", + "path": "org_frontier/probes/probe_uniform_triadic_verdict.py", + "reproduce": [ + "python -m org_frontier.probes.probe_uniform_triadic_verdict" + ], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#202", + "concept": "Cycle collapse (H3)", + "hypothesis": "Feedback-cycle predicate assigns all reciprocal", + "verdict": "confirmed", + "result": "16/16 cycle=True; 0 sequential by cycle. probe_cycle_collapse.py", + "path": "org_frontier/probes/probe_cycle_collapse.py", + "reproduce": [ + "python -m org_frontier.probes.probe_cycle_collapse" + ], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#203", + "concept": "Type tracks template (H4)", + "hypothesis": "Return-path type aligns with Q59 edge template", + "verdict": "confirmed", + "result": "16/16 template match; 8/8 each subpanel. probe_type_tracks_template.py", + "path": "org_frontier/probes/probe_type_tracks_template.py", + "reproduce": [ + "python -m org_frontier.probes.probe_type_tracks_template" + ], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#204", + "concept": "No Phi split (H5)", + "hypothesis": "Sequential/reciprocal subpanels identical at verdict", + "verdict": "confirmed", + "result": "Both subpanels triadic mean 2.0 spread 0. probe_no_phi_discrimination.py", + "path": "org_frontier/probes/probe_no_phi_discrimination.py", + "reproduce": [ + "python -m org_frontier.probes.probe_no_phi_discrimination" + ], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#205", + "concept": "Seam-type bijection (H1)", + "hypothesis": "Official singleton seam tracks return-path type", + "verdict": "confirmed", + "result": "W seam+sequential 8/8; C seam+reciprocal 8/8; matches 16/16. probe_seam_tracks_type.py", + "path": "org_frontier/probes/probe_seam_tracks_type.py", + "reproduce": [ + "python -m org_frontier.probes.probe_seam_tracks_type" + ], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#206", + "concept": "Co-extensive partitions (H2)", + "hypothesis": "Seam and type induce identical 8+8 partition", + "verdict": "confirmed", + "result": "partition equality 16/16; both labels 8+8. probe_coextensive_partitions.py", + "path": "org_frontier/probes/probe_coextensive_partitions.py", + "reproduce": [ + "python -m org_frontier.probes.probe_coextensive_partitions" + ], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#207", + "concept": "Seam not finer (H3)", + "hypothesis": "No within-type seam heterogeneity", + "verdict": "confirmed", + "result": "heterogeneity 0/16; seq+C seam 0/8; rec+W seam 0/8. probe_seam_not_finer.py", + "path": "org_frontier/probes/probe_seam_not_finer.py", + "reproduce": [ + "python -m org_frontier.probes.probe_seam_not_finer" + ], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#208", + "concept": "Seam not coarser (H4)", + "hypothesis": "No within-seam type heterogeneity", + "verdict": "confirmed", + "result": "heterogeneity 0/16; W seam+rec 0/8; C seam+seq 0/8. probe_seam_not_coarser.py", + "path": "org_frontier/probes/probe_seam_not_coarser.py", + "reproduce": [ + "python -m org_frontier.probes.probe_seam_not_coarser" + ], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#209", + "concept": "Verdict recovery (H5)", + "hypothesis": "Seam subpanels match type despite uniform max_phi", + "verdict": "confirmed", + "result": "spread 0.000000; W-seam=seq 8/8; C-seam=rec 8/8. probe_seam_recover_discrimination.py", + "path": "org_frontier/probes/probe_seam_recover_discrimination.py", + "reproduce": [ + "python -m org_frontier.probes.probe_seam_recover_discrimination" + ], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#210", + "concept": "Excluded complement (H1)", + "hypothesis": "Excluded singleton is complement of tied", + "verdict": "confirmed", + "result": "complement matches 16/16; mismatches 0/16. probe_excluded_complement.py", + "path": "org_frontier/probes/probe_excluded_complement.py", + "reproduce": [ + "python -m org_frontier.probes.probe_excluded_complement" + ], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#211", + "concept": "Inverse type track (H2)", + "hypothesis": "Excluded inversely tracks return-path type", + "verdict": "confirmed", + "result": "inverse 16/16; direct 0/16. probe_inverse_type_track.py", + "path": "org_frontier/probes/probe_inverse_type_track.py", + "reproduce": [ + "python -m org_frontier.probes.probe_inverse_type_track" + ], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#212", + "concept": "Tied determines excluded (H3)", + "hypothesis": "Excluded unique within each tied class", + "verdict": "confirmed", + "result": "within-tied heterogeneity 0/16. probe_tied_determines_excluded.py", + "path": "org_frontier/probes/probe_tied_determines_excluded.py", + "reproduce": [ + "python -m org_frontier.probes.probe_tied_determines_excluded" + ], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#213", + "concept": "No third joint (H4)", + "hypothesis": "Triple collapses to exactly two joint cells", + "verdict": "confirmed", + "result": "distinct joints 2; (W,seq,C) 8/8; (C,rec,W) 8/8. probe_no_third_joint.py", + "path": "org_frontier/probes/probe_no_third_joint.py", + "reproduce": [ + "python -m org_frontier.probes.probe_no_third_joint" + ], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#214", + "concept": "Excluded norm uniform (H5)", + "hypothesis": "Excluded norm 1.0 with no Phi subpanel lift", + "verdict": "confirmed", + "result": "norm 16/16; excluded-W/C spread 0. probe_excluded_norm_phi.py", + "path": "org_frontier/probes/probe_excluded_norm_phi.py", + "reproduce": [ + "python -m org_frontier.probes.probe_excluded_norm_phi" + ], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#215", + "concept": "Outreach: read-recipient vs broadcast (Q63 H1)", + "hypothesis": "Reading the recipient makes outreach triadic; broadcast is dyadic", + "verdict": "confirmed", + "result": "read_recipient triadic Φ=2.0; broadcast dyadic Φ=0. q63/probe_read_recipient.py", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#216", + "concept": "Outreach: substitutable recipients (Q63 H2)", + "hypothesis": "Interchangeable recipients collapse the triad", + "verdict": "confirmed", + "result": "all_required triadic Φ=3.0; substitutable (E∧(R1∨R2)) dyadic Φ=0. q63/probe_substitutable.py", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#217", + "concept": "Outreach: disclosure is a label (Q63 H3)", + "hypothesis": "Announcing the agent does not change the structure", + "verdict": "confirmed", + "result": "disclosed major complex {E,M,R} Φ=2.0, D excluded, = read-recipient triad. q63/probe_disclosure.py", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#218", + "concept": "Outreach: cost proxy fails (Q63 H4)", + "hypothesis": "Mediator in-degree does not recover the verdict", + "verdict": "confirmed", + "result": "substitutable (dyadic) reads 3 sources ≥ read_recipient (triadic) 2; proxy non-monotone. q63/probe_cost_proxy.py", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#219", + "concept": "Outreach: liveness carries the verdict (Q63 H5)", + "hypothesis": "A read-but-frozen recipient leaves outreach dyadic", + "verdict": "confirmed", + "result": "conversation (R live) triadic Φ=2.0; one_shot (R frozen) dyadic Φ=0. q63/probe_liveness.py", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#220", + "concept": "Outreach breadth: all-required scaling (Q64 H1)", + "hypothesis": "All-binding campaign stays triadic at Φ=n−1 as recipients grow", + "verdict": "confirmed", + "result": "k=1..4 (n=3..6) triadic, Φ=2,3,4,5 = n−1. Conjunctive-hub law in the outreach frame. q64/probe_all_required_scaling.py", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#221", + "concept": "Outreach breadth: substitutable scaling (Q64 H2)", + "hypothesis": "A substitutable campaign factors at every breadth", + "verdict": "confirmed", + "result": "k=2,3,4 dyadic Φ=0. q64/probe_substitutable_scaling.py", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#222", + "concept": "Outreach breadth: pooled broadcast (Q64 H3)", + "hypothesis": "A broadcast that ignores recipients factors at every breadth", + "verdict": "confirmed", + "result": "k=2,3,4 dyadic Φ=0. q64/probe_pooled_broadcast.py", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#223", + "concept": "Outreach breadth: one substitutable recipient (Q64 H4)", + "hypothesis": "One swappable recipient collapses an otherwise all-binding campaign", + "verdict": "confirmed", + "result": "k=3 mixed E∧R1∧(R2∨R3) dyadic; all-required Φ=4.0 triadic. q64/probe_mixed_collapse.py", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#224", + "concept": "Outreach breadth: core membership (Q64 H5)", + "hypothesis": "Every recipient sits in the irreducible core", + "verdict": "confirmed", + "result": "all-required core {E,M,R1..Rk} full at k=2,3. q64/probe_core_membership.py", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#225", + "concept": "Agent-chain outreach: depth (Q65 H1/H2)", + "hypothesis": "Agent chain stays triadic at Φ=2.0 constant across depth", + "verdict": "confirmed", + "result": "d=1..4 (n=3..6) triadic, Φ=2.0 at every depth (depth preserves, vs breadth n−1). q65/probe_chain_depth.py", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#226", + "concept": "Agent-chain outreach: relay gap (Q65 H3)", + "hypothesis": "An agent reading only upstream collapses the chain", + "verdict": "confirmed", + "result": "intact triadic Φ=2.0; relay-gap dyadic Φ=0. q65/probe_relay_gap.py", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#227", + "concept": "Agent-chain outreach: core localizes (Q65 H4)", + "hypothesis": "The chain core is the recipient end, not the whole chain", + "verdict": "refuted", + "result": "d=2 major complex {A2,R} Φ=2.0, not {E,A1,A2,R}; sender + upstream agent feed the core without joining it. q65/probe_chain_core.py", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#228", + "concept": "Agent-chain outreach: depth atop breadth (Q65 H5)", + "hypothesis": "Depth does not undo breadth", + "verdict": "confirmed", + "result": "agent before all-binding 2-recipient commit triadic Φ=2.0. q65/probe_depth_breadth.py", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#229", + "concept": "Chain core boundary: end pair across depth (Q66 H1/H2)", + "hypothesis": "Open-chain core is a size-2 end pair, symmetric not recipient-biased", + "verdict": "H1 refuted, H2 confirmed", + "result": "core size 2 at d=2,3,4; {A2,R},{A3,R} but {E,A1} at d=4 — revises Q65's recipient-facing reading to a tie-break. q66/probe_chain_core_depth.py", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#230", + "concept": "Chain core boundary: closed ring (Q66 H3/H4)", + "hypothesis": "Closing the chain into a loop binds the whole structure", + "verdict": "confirmed", + "result": "conjunctive ring core = full set, Φ=4.0 vs open chain 2.0. q66/probe_ring_core.py", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#231", + "concept": "Reciprocity gradient (Q67 H1-H4)", + "hypothesis": "Partial reciprocity seeds a local core but full coupling binds the exchange", + "verdict": "H2 refuted, H1/H3/H4 confirmed", + "result": "L0 relay dyadic; L1 one end-loop whole-system dyadic Φ=0 (local {A2,R} complex Φ=2.0); core jumps 2→4 at closure; Φ monotone 0<2<4. q67/probe_reciprocity_gradient.py", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#232", + "concept": "Recipient-side triage agent (Q68 H1-H4)", + "hypothesis": "A triage agent joins the core only when bidirectionally coupled, and displaces the sender", + "verdict": "confirmed", + "result": "monitoring-only & gating-only T out (core {E,M,R}); bidirectional T in, core {M,R,T} (sender displaced), all Φ=2.0. q68/probe_triage_gating.py", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#233", + "concept": "Two-sided agent exchange (Q69 H1-H4)", + "hypothesis": "When both sides delegate, the irreducible core is the two agents", + "verdict": "confirmed", + "result": "live chain core {Ar,R} (human in core); delegated core {As,Ar} (both humans displaced) Φ=2.0; closed ring all four Φ=4.0. q69/probe_two_sided.py", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#234", + "concept": "Agent substitutability (Q70 H1-H4)", + "hypothesis": "Multi-homing across interchangeable agents collapses the coordination", + "verdict": "confirmed", + "result": "single agent triadic Φ=2.0; substitutable (M1∨M2) dyadic Φ=0; required-both (M1∧M2) triadic Φ=4.0, core {E,M1,M2,C}. q70/probe_agent_substitutability.py", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#235", + "concept": "Noise robustness (Q71 H1-H4)", + "hypothesis": "The outreach verdict is robust to stochastic noise", + "verdict": "confirmed", + "result": "triad Φ degrades 2.0→1.53→1.16→0.61→0.28→0 as eps 0→0.5; broadcast stays 0 (no spurious triad). q71/probe_noise_robustness.py", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#236", + "concept": "Cost/proxy frontier (Q72 H1-H4)", + "hypothesis": "No cheap structural proxy recovers the outreach verdict", + "verdict": "confirmed", + "result": "read_recipient(tri)+one_shot(dy) share in-degree 2 & 4 edges; substitutable(dy)+all_required(tri) share in-degree 3 & 6 edges; verdict needs exact Φ. q72/probe_cost_proxy_frontier.py", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#237", + "concept": "Outreach-coordination law (Q73 synthesis)", + "hypothesis": "The five-pillar law of when agent-mediated outreach demands algorithmacy", + "verdict": "confirmed", + "result": "P1 joint determination, P2 liveness, P3 non-substitutability, P4 closure binds all (ring Φ=4.0), P5 structural-not-cheap — all hold. q73/probe_law_pillars.py", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#238", + "concept": "Verdict vs maximal complex (Q74 H1-H4)", + "hypothesis": "A connectivity check on excluded elements selects which verdict to report", + "verdict": "confirmed", + "result": "spectator/frozen forms whole-dyadic + core-triadic (excluded non-bidirectional); chain whole-triadic + localized core (excluded A1 bidirectional); excluded bidirectional iff whole-system triadic. q74/probe_verdict_vs_complex.py", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#239", + "concept": "Spectator robustness (Q75 H1-H4)", + "hypothesis": "The triadic core is stable under added non-participating parties", + "verdict": "confirmed", + "result": "core stays {E,M,R} Φ=2.0 with 1-3 uncoupled, a read-only, and an emit-only spectator. q75/probe_spectator_robustness.py", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#240", + "concept": "Stochastic threshold (Q79 H1-H4)", + "hypothesis": "The triad emerges gradually with the agent's probability of reading the recipient", + "verdict": "confirmed", + "result": "Φ 0→0.11→0.28→0.54→2.0 as p 0→1; partial reading already gives Φ>0; graded, no threshold. q79/probe_stochastic_threshold.py", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#241", + "concept": "Asynchronous update (Q80 H1-H4)", + "hypothesis": "The dyadic/triadic verdict survives asynchronous update", + "verdict": "confirmed", + "result": "read_recipient & all_required stay triadic (Φ 2.0→0.25, 3.0→0.20); broadcast stays dyadic; verdict preserved, magnitude falls. q80/probe_async_update.py", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#242", + "concept": "Recipient-side gating coalition (Q83)", + "hypothesis": "A gating coalition keeps a size-3 core; only one of two required agents enters", + "verdict": "H1 refuted, H2-H4 confirmed", + "result": "both-required core {M,R,T2} (one agent absorbed, vs regulator coalition probe 111 where both enter); either-suffices keeps {E,M,R}; single agent enters. q83/probe_agent_coalition.py", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#243", + "concept": "Adversarial agent (Q84 H1-H4)", + "hypothesis": "Influence requires membership: a non-core agent cannot flip the verdict", + "verdict": "confirmed", + "result": "read-only & emit-only X leave core {E,M,R} triadic; only bidirectional-pivotal X joins (core {E,M,R,X} Φ=3.0). q84/probe_adversarial_agent.py", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#244", + "concept": "Agent market (Q85 H1-H4)", + "hypothesis": "A market of interchangeable agents is a broadcast at every size", + "verdict": "confirmed", + "result": "substitutable dyadic at N=2,3,4; all-required triadic Φ=4,6,8 with full core; one substitutable pair collapses it. q85/probe_agent_market.py", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#245", + "concept": "Learned surrogate (Q81 H1-H4)", + "hypothesis": "A surrogate over cheap features recovers the verdict in-distribution but fails to cross sizes", + "verdict": "H1 confirmed, H2-H4 refuted", + "result": "n=3 family CV AUC 1.000; trained on n=3, generalizes to n=4,5,6 at accuracy 0.250 (below the 0.600 majority); the exact ceiling holds for a learned student. q81/probe_learned_surrogate.py", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#246", + "concept": "Surrogate vs proxy (Q82 H1-H4)", + "hypothesis": "The surrogate beats every single proxy; edge count is a strong but imperfect rank", + "verdict": "H1 refuted, H2-H4 confirmed", + "result": "surrogate CV AUC 1.000 > edges 0.966 > in-degree 0.707 > Φ_R 0.621 > Φ_WMS 0.547; surrogate OOF acc 1.000 on the constant-in-degree subset where structure cannot separate. q82/probe_surrogate_vs_proxy.py", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#247", + "concept": "Membership law scaling (Q90 H1-H4)", + "hypothesis": "The core-membership law generalizes past n=3 in kind, at moderate strength", + "verdict": "H1,H3,H4 confirmed, H2 refuted", + "result": "non-bidir in-core 0.000 at n=3,4,5 (coupling strictly necessary); P(core) rises with influence at every n; rank-AUC 0.71/0.62/0.73 (flat, below the 0.75 bar set from the strict-mediation 0.89); n=6 out of reach. q90/probe_membership_law_scaling.py", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#248", + "concept": "Fragility margin (Q93 H1-H4)", + "hypothesis": "Structural and dynamical robustness come apart through the mediator", + "verdict": "H1,H4 confirmed, H2,H3 refuted", + "result": "all 24 triadic forms collapse under one single-bit flip; robustness near-binary (0.125 vs 0.250); parity mediators structurally sturdier (0.250) but noise-fragile (Φ 0.38 vs 1.16), the two robustness notions anti-align. q93/probe_fragility_margin.py", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#249", + "concept": "Heterogeneous market (Q89 H1-H4)", + "hypothesis": "Heterogeneous agent membership is a property of the joint determination, not the agent", + "verdict": "H1,H4 confirmed, H2,H3 refuted", + "result": "passive agent excluded, substitutability still collapses; a partial-reading required agent drops out in a 2-agent market (core localizes to {M1,C}) but binds in a 3-agent mixed market (full core) — composition decides membership. q89/probe_heterogeneous_market.py", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#250", + "concept": "Pivotality vs bidirectionality (Q98 H1-H4)", + "hypothesis": "The membership gate is hard-conjunctive at the corners, additive inside", + "verdict": "H1,H2,H4 confirmed, H3 refuted", + "result": "P(core)=0.000 at zero reading or zero influence (neither compensates), =1.000 at strong both; but the sum predicts membership as well as the minimum (AUC 0.783 vs 0.772), so the interior is compensatory, not a strict min-gate. q98/probe_pivotality_bidirectionality.py", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#251", + "concept": "Multiple complexes (Q94 H1-H4)", + "hypothesis": "Coordination holds multiple coexisting cores; coupling does not fuse them", + "verdict": "H1,H3 confirmed, H2,H4 refuted", + "result": "two uncoupled units = 2 complexes; one-way bridge keeps 2; mutual bridge collapses to one smaller core {C,D} (compete, not fuse); a self-looping spectator forms its own 3rd complex. q94/probe_multiple_complexes.py", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#252", + "concept": "Composition of triads (Q95 H1-H4)", + "hypothesis": "Composing two triads fragments rather than unifies", + "verdict": "H4 confirmed, H1,H2,H3 refuted", + "result": "two triads sharing a node give whole-system dyadic, 2 complexes {E1,M1,S}@2 and {M2,R2}@2; Φ does not add (stays 2.0); the shared node binds only the upstream core. Composition keeps units modular. q95/probe_composition_of_triads.py", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#253", + "concept": "Lossy channel (Q91 H1-H4)", + "hypothesis": "The triad degrades gracefully under a lossy read; collapses only at zero channel capacity", + "verdict": "all confirmed", + "result": "mediator reads R through a binary symmetric channel: Φ 2.0→0.76→0.54→0.34→0.16→0 as error 0→0.5; triadic through e=0.4, dyadic at e=0.5; input-side mirror of Q79's commit-side emergence. q91/probe_lossy_channel.py", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#254", + "concept": "Stateful mediator (Q92 H1-H4)", + "hypothesis": "A tracking memory substitutes for a live read and reorganizes the core", + "verdict": "all confirmed", + "result": "tracking memory (M'=E∧Mem, Mem'=R) stays triadic Φ=2, core shifts to {M,R,Mem} (worker displaced); frozen memory and self-memory are dyadic. Liveness = recipient bound through any path, not the current read. q92/probe_stateful_mediator.py", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#255", + "concept": "Contingent membership (Q96 H1-H4)", + "hypothesis": "State-contingent participation factors the whole but keeps a local core", + "verdict": "H2,H3 confirmed, H1,H4 refuted", + "result": "gating the recipient's read (M'=E∧(R∨¬T), T'=E) gives whole-system dyadic with a localized {M,R} core (φ=2); recipient bound locally, worker and gate excluded. Contingency behaves like optionality (Finding 5). q96/probe_contingent_membership.py", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#256", + "concept": "Coordinated adversary (Q97 H1-H4)", + "hypothesis": "A coalition gains no influence without membership, but can capture the mediator", + "verdict": "H2,H3,H4 confirmed, H1 refuted (whole-system)", + "result": "two observers leave the core {E,M,R}; two sources can't manufacture; a bridging coalition becomes triadic with core {M,X1,X2}, capturing the mediator and displacing the legitimate worker and recipient — influence still requires membership. q97/probe_coordinated_adversary.py", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#257", + "concept": "Binding distinction (Q99 H1-H4)", + "hypothesis": "The CES gives the verdict a face: integration lives in a joint mechanism; triads come in structural types", + "verdict": "H2,H3 confirmed, H1,H4 refuted", + "result": "every triad's maximal distinction is a joint (≥2-party) mechanism with φ_d=Φ; the single-party dual pair is the mediated signature only — rings/markets are symmetric ({E,C}↔{M1,M2}), chains distributed. The verdict hides a taxonomy. Opens the CES-semantics wave. q99/probe_binding_distinction.py", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#258", + "concept": "Structure fingerprint (Q100 H1-H4)", + "hypothesis": "The CES fingerprints the coordination kind and is orthogonal to the scalar", + "verdict": "H1,H2,H3 confirmed, H4 refuted", + "result": "5/6 keystones have distinct fingerprints (all 3 dual types); equal Φ → different structure (joint-det Φ=2 vs chain Φ=2); relations DON'T track Φ (ρ=0.14): breadth market 128 relations at Φ=3 vs ring 14 at Φ=4. Richness is the kind, not the magnitude. q100/probe_structure_fingerprint.py", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#259", + "concept": "What it distinguishes (Q101 H1-H4)", + "hypothesis": "Coordination distinguishes the all-present, determination-firing joint state", + "verdict": "H1,H2,H3 confirmed, H4 refuted", + "result": "read_recipient binding {E,R} specifies (1,1), all_required {E,R1,R2}=(1,1,1) — the joint-success state; dyadic forms distinguish no joint state. H4 refuted: symmetric market has no single-party binder (its joint distinction still specifies all-present). q101/probe_what_it_distinguishes.py", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#260", + "concept": "Relation skeleton (Q102 H1-H4)", + "hypothesis": "Mediated coordination relates through a hub; the breadth count is combinatorial", + "verdict": "all confirmed", + "result": "mediated triads concentrate relations on the mediator (read_recipient 88%, breadth market 99%); the 128 = every subset of 7 hub-sharing distinctions (max relation binds 7); symmetric triads spread (36%, no hub). Explains Q100's Φ-orthogonal relation count. q102/probe_relation_skeleton.py", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#261", + "concept": "Structure under operations (Q103 H1-H4)", + "hypothesis": "The whole-system CES collapses under substitution but diverges from major-complex membership", + "verdict": "H1 confirmed, H2,H3,H4 refuted", + "result": "substitution empties the structure (Φ=0); but a tracking memory (Mem as relay) and delegation (T in spanning purview {M}→{E,T}) keep the joint mechanism at {E,R} — the whole-system CES is not a membership readout (Q74 at the structure level). q103/probe_structure_under_operations.py", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#262", + "concept": "Load-bearing distinction (Q104 H1-H4)", + "hypothesis": "The integration concentrates in the binding distinction; every edge bears load", + "verdict": "all confirmed", + "result": "binding distinctions {M}↔{E,R} carry φ_d=Φ=2.0, singletons 0.5 each; all 4 edge knockouts collapse the triad to dyadic — no redundancy. The CES form of the law (whole 4x any part) and of Q93's fragility. q104/probe_load_bearing.py", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#263", + "concept": "Construction distance (Q105 H1-H4)", + "hypothesis": "The dyad/triad boundary is thin from the build side; triads are built at the parties, not the mediator", + "verdict": "H1,H2,H3 confirmed, H4 refuted", + "result": "90% of dyadic forms are within 2 edits of triadic ({1:120,2:88,3:24}); but only 33% of single-edit builds are at the mediator — 67% restore LIVENESS at a party's read (the binding is already present; Finding 3). Opens the design wave. q105/probe_construction_distance.py", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#264", + "concept": "Design operations (Q106 H1-H4)", + "hypothesis": "The design vocabulary is the law's three conditions read as moves", + "verdict": "all confirmed", + "result": "six operations on three levers (binding, liveness, requirement), each a build (dyadic→triadic) paired with an inverse break; the design account and the diagnostic criterion are one law read two ways. Delivers the Paper 3 vocabulary. q106/probe_design_operations.py", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#265", + "concept": "Repair (Q107 H1-H4)", + "hypothesis": "Repair is lever-specific: the broken condition must be the one restored", + "verdict": "all confirmed", + "result": "binding damage repairs at the mediator (bits {5,6}), liveness damage at the party's read (bit {3}); neither routes around the other. No repair redundancy — the conditions don't substitute. The repair form of Q104. q107/probe_repair.py", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#266", + "concept": "Controllability (Q108 H1-H4)", + "hypothesis": "Every party is a control node; the mediator is dominant, the parties knife-edge", + "verdict": "all confirmed", + "result": "varying any party reaches both verdicts; the mediator has 6/16 triad-preserving functions, each outer party only 1/4 (its live read) — Finding 3 as a control statement. The hub steers robustly, the spokes on a knife-edge. q108/probe_controllability.py", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#267", + "concept": "Reversibility (Q110 H1-H4)", + "hypothesis": "The dyad/triad boundary is asymmetric: easy to break, harder to build", + "verdict": "all confirmed", + "result": "every triad is 1 edit from a dyad (fragility margin all 1), but building a triad costs 1-3 edits (mean 1.59); the boundary favors destruction. Closes the design wave — algorithmacy is cheap to break, dear to build. q110/probe_reversibility.py", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#268", + "concept": "Shapley value of integration (Q111 H1-H4)", + "hypothesis": "The mediator captures two-thirds of the coordination's value; an outsider captures negative", + "verdict": "all confirmed", + "result": "Shapley value of subsystem-Φ: mediator 1.333 (67%), each party 0.333 (17%), sum=Φ; a read-only spectator captures -0.833 (it factors the whole system). Platform power, quantified. Opens the political-economy wave. q111/probe_shapley_value.py", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#269", + "concept": "Veto power (Q112 H1-H4)", + "hypothesis": "Destruction is democratic, value is concentrated", + "verdict": "all confirmed", + "result": "every core party can collapse the triad (universal veto), a spectator cannot; yet value concentrates at the mediator (Q111) because the coordination is not a unanimity game (sub-coalition {E,R}=0). Workers can hold the platform hostage; the platform captures the rent. q112/probe_veto_power.py", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#270", + "concept": "Substitutability and value (Q113 H1-H4)", + "hypothesis": "Substitutability destroys all value; a required set shares it equally", + "verdict": "all confirmed", + "result": "all-required market distributes Φ=4 equally (1 each); substitutable market captures 0 — the loss is the whole Φ, borne by all. Value concentrates only under asymmetric essentiality; interchangeability is catastrophic, not a discount. q113/probe_substitutability_value.py", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#271", + "concept": "Principal's rent (Q114 H1-H4)", + "hypothesis": "A principal captures value by creating it; ownership alone captures nothing", + "verdict": "all confirmed", + "result": "bidirectional principal Shapley +0.417, Φ grows 2→3, every party rises (creation over extraction); monitor-only principal captures −0.833 and factors the system to Φ=0. The rent of Q111 is the productive position; ownership as such adds nothing. q114/probe_principal_rent.py", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#272", + "concept": "Market value at scale (Q115 H1-H4)", + "hypothesis": "A growing required market commoditizes its agents and pays the scarce parties", + "verdict": "all confirmed", + "result": "Σ Shapley = Φ = 2N at N=2,3,4; outer-party value climbs 1.0→1.55→2.067 while each agent holds ~0.967. Scale rewards scarcity over requiredness; the economic law of scarcity falls out of the structure. q115/probe_market_value.py", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#273", + "concept": "Strategic value vs structural depth (Q116 H1-H4)", + "hypothesis": "Shapley value and singleton φ_d rank the parties alike and coincide only in the small", + "verdict": "all confirmed", + "result": "on the triad normalized φ_d = Shapley shares exactly (M 0.667, E/R 0.167); both rank parties identically on every form; on the principal they diverge (M structural 0.800 vs strategic 0.583), structure over-concentrating where they part. Strategic value is structural depth smoothed by marginal contribution; closes the value wave. q116/probe_value_against_structure.py", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#274", + "concept": "Φ-free test for triadicity (Q117 H1-H4)", + "hypothesis": "A predicate computed without Φ matches the exact verdict on all 256 forms, but reads the logic, not the wiring", + "verdict": "all confirmed", + "result": "feedback cycle necessary (0 false negatives) but not sufficient (16 cyclic dyadic forms on identical wiring); cycle + a composition condition (parity mediator always binds; non-parity binds iff outer-read phase matches mediator symmetry) matches the oracle with 0/256 errors. 40 full-cycle forms split 24 triadic / 16 dyadic on logic alone. Opens the structural-law wave. q117/probe_phi_free_test.py", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#275", + "concept": "External criterion for the verdict (Q121 H1-H4)", + "hypothesis": "An interventional non-Φ criterion recovers the verdict where observation fails (answering critical-review T1)", + "verdict": "all confirmed", + "result": "on the 40 hard full-cycle forms, observational total-correlation is at chance (AUC 0.500) while interventional damage spreading (Kauffman/Derrida) separates perfectly (AUC 1.000, stable horizon≥2); full-family AUC is a trivial bar (cycle alone 0.966)", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#276", + "concept": "Cooperative-game validity audit (Q122 H1-H4)", + "hypothesis": "The value function is a valid game where the wave used it; the critique holds for the degenerate case (answering T2/T3/T5)", + "verdict": "all confirmed (two-sided)", + "result": "v=subsystem-Φ is monotone AND superadditive (0 violations) on the triad, bidirectional principal, and markets N=2,3 — surplus reading licensed there; non-monotone on the monitor-only form (3 mono / 5 superadd violations), so its −0.833 is value destruction, not rent", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#277", + "concept": "Reproducibility / config-invariance (Q123 H1-H4)", + "hypothesis": "The verdict is reproducible within IIT-4.0 and the SYSTEM_CUTS charge is misdirected (answering T6)", + "verdict": "all confirmed", + "result": "build pinned (pyphi @ b78d0e342); binary verdict bit-identical across all 256 forms under SYSTEM_CUTS=CONCEPT_STYLE, SHORTCIRCUIT_SIA=False, PARALLEL=True, and rerun (0/256 each). SYSTEM_CUTS is a legacy 3.0 knob off the 4.0 path (corrects the review). Of 13 alternative repertoire measures, 12 error and EMD is degenerate (Φ=0) — GID is the unique admissible non-degenerate measure", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#278", + "concept": "Aggregation robustness (Q124 H1-H4)", + "hypothesis": "The verdict survives every reasonable state-aggregation; only the strict every-state rule flips it (answering F1/T4)", + "verdict": "all confirmed", + "result": "all 24 triadic forms stay triadic under max, mean, AND stationary (long-run occupancy) aggregation; the integrating state is genuinely occupied (stationary Φ>0 for all 24), refuting the \"cherry-picked unoccupied state\" charge. Only the strict min (integrate in every state) flips the 16 single-state integrators (8/24 survive), so the verdict is a capacity claim", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#279", + "concept": "Higher-order binding (Q120 H1)", + "hypothesis": "No triadic form is a pure higher-order bind: every party is pivotal", + "verdict": "confirmed", + "result": "0 of 2312 triadic forms survive any single-party knockout; all three parties pivotal in every triadic form across strict-mediation (24/256) and fully-coupled (2288/4096), under both spectator (P'=x[P]) and silenced (P'=0) knockouts; tightens the law to a biconditional on 3 parties. q120_higher_order_binding/probe_higher_order_binding.py", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#280", + "concept": "Higher-order binding at four parties (Q125 H1)", + "hypothesis": "A pure higher-order bind (irreducible, no single pivotal party) exists at four parties", + "verdict": "refuted", + "result": "0 of 267 irreducible four-party forms survive any single-party knockout; all four parties pivotal in every one across homogeneous-symmetric (14/16), curated-redundant (6/8), named-multiparty (3/7), and canonical-heterogeneous (244/256) families, under both knockout defs. Redundancy does not free the bind; extends Q120 to 4 parties", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#281", + "concept": "Interested mediator (Q126 H1-H2)", + "hypothesis": "A system that imposes its own agenda over the parties strengthens (or erodes) the coordination", + "verdict": "H1,H2 confirmed (erodes)", + "result": "as the mediator overrides the parties joint determination toward its agenda, Φ falls to 0 and the parties leave the core; a denying agenda collapses the triad at the first override (overriding the parties point of agreement), an approving one tolerates one (Φ 2.0->0.5->0); order-averaged, deny decays linearly (2,1.5,1,0.5,0) while approve is non-monotone (parity re-integration)", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#282", + "concept": "Interest collapse vs baseline (Q127)", + "hypothesis": "The agenda that collapses coordination fastest tracks the mediators minority output-class, not denial", + "verdict": "H1 refuted, refined finding confirmed", + "result": "denial is not special: AND->deny collapses at k=1 but OR->approve at k=1 (asymmetry flips with the baselines rare output); balanced baselines (XNOR/XOR) re-integrate -- a faithful Φ=0.5 mediator is sharpened by self-interest, Φ rising to 2.0 before collapsing at full imposition. Corrosiveness depends on how discriminating the faithful mediation already was", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#283", + "concept": "Adaptive interested mediator (Q128)", + "hypothesis": "Does a predatory mediator (S=O) re-integrate the coordination when its objective adapts to the parties?", + "verdict": "refined: iff it reads both", + "result": "a fully self-executing mediator is dyadic when its objective is frozen or reads one party, triadic iff the objective encodes both (W&C/W", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#284", + "concept": "Mediator interpolation faithful->predatory (Q129)", + "hypothesis": "Does an adaptive objective hold the coordination across the interpolation?", + "verdict": "refined: two readings diverge", + "result": "parties-bound-in-core reading: frozen holds to m=3, adaptive breaks at m=1 (displaces the worker); whole-system reading (Q128): frozen never irreducible, adaptive only at m=4 (core SCO). An adaptive objective re-integrates the SYSTEM by joining the core and displacing a party; a frozen one preserves the PARTIES bind until full defection. \"Coordination survives\" has no single answer", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#285", + "concept": "Pivotal but excluded (Q130)", + "hypothesis": "Are pivotality (removal collapses irreducibility) and core membership (in the major complex) the same?", + "verdict": "H1,H2 confirmed: distinct", + "result": "in the homogeneous symmetric 4-party forms, 14 parties are pivotal yet outside the major complex (necessity != membership); the core reads all 14; 0 core-but-not-pivotal, so core membership is a strict subset of pivotality. Mechanism: symmetry degeneracy (the major complex names one of several equivalent maximal complexes). The static form of Q129 displacement / influence-not-membership", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#286", + "concept": "Value capture under an interested mediator (Q131)", + "hypothesis": "Does an interested mediator extract a larger share (rent) or destroy value (incl. its own)?", + "verdict": "H1,H2 confirmed: destruction", + "result": "Shapley value of subsystem-Φ across the Q126 interestedness ladder: faithful mediator captures 2/3 (1.333 of Φ=2.0); at the first interested step the value halves AND the split equalizes (W/S/C all 0.167, mediator share 67%->33%), then collapses to 0 at k=2. Interested mediation is value destruction not rent extraction -- the mediator surrenders the bottleneck position that gave it 2/3", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#287", + "concept": "Value capture across baselines (Q132)", + "hypothesis": "Is destruction-vs-extraction baseline-relative, and does the value reading need the integrating state?", + "verdict": "H2 confirmed (baseline-relative); H1 refined", + "result": "verdict-aligned Shapley: AND/OR destroy (2/3 rent falls with Φ); XOR re-integrates under self-interest (Φ 0.5->2.0) and the mediator captures 2/3 -- EXTRACTION. The 2/3 rent tracks full integration, so self-interest extracts where it re-integrates (XOR) and destroys where it collapses (AND/OR) -- the value image of Q127", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#288", + "concept": "Deny-agenda value symmetry (Q133)", + "hypothesis": "Does the destruction-vs-extraction value split mirror under the deny agenda?", + "verdict": "H1,H2 confirmed: agenda-symmetric", + "result": "under deny the extracting baseline is XNOR (Φ 0.5->2.0, mediator 2/3) -- the mirror of XOR-under-approve (Q132); AND/OR destroy, XOR stays weak. Each agenda re-integrates the balanced baseline whose minority output it overrides; re-integration is extraction. Value image of Q127 agenda symmetry. q133_deny_symmetry/probe_deny_symmetry.py", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#289", + "concept": "Does the mediator rent scale? (Q134)", + "hypothesis": "Is the mediator two-thirds share scale-invariant as parties are added?", + "verdict": "H1 refuted: rent dilutes", + "result": "conjunctive star n=3,4,5: total Φ=n-1 but mediator share falls 66.6%->58.3%->55.0% toward 1/2; outer parties collectively keep more (33%->45%) though each keeps less. The 2/3 is a 3-party number, not a law of bottlenecks; concentration is a small-coordination phenomenon. Bounds the Q111 platform-power reading. q134_rent_scaling/probe_rent_scaling.py", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#290", + "concept": "The objective rent (Q135)", + "hypothesis": "When the systems agenda joins the core, does it capture value and at whose expense?", + "verdict": "H1 confirmed; co-equal rentier", + "result": "Shapley of the Q128 adaptive-objective model: the objective captures exactly what the system does (O-share = S-share) in every adaptive form -- AND/OR 58% each, XOR 25% each. The parties value tracks Q129 displacement: negative under AND/OR (objective displaces a party, core SCO), positive equal-quarter under XOR (all four bound). The platform agenda is a rentier on a par with the platform", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#291", + "concept": "Two competing mediators (Q136)", + "hypothesis": "Does a second mediator (competition) return value to the parties?", + "verdict": "H1,H2 confirmed: no", + "result": "substitutable mediators (parties read S1", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#292", + "concept": "The interested worker (Q137)", + "hypothesis": "Can the worker reclaim value by gaming the system (algorithmic resistance)?", + "verdict": "H1,H2 confirmed: no", + "result": "sweeping system x worker interestedness: worker gaming collapses the coordination (Φ->0 for any k_W>=1) -- the worker reads only the system, so injecting an agenda makes it unresponsive and the triad factors. The workers share rises 17%->33% only when the SYSTEM defects (Q131 equalization) but its absolute value falls 0.333->0.167 and never exceeds baseline", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#293", + "concept": "Minimum faithful fraction (Q138)", + "hypothesis": "How much forced faithfulness revives the coordination, and who gets the value?", + "verdict": "H1,H2 confirmed", + "result": "predatory mediator forced faithful on m/4 states: below 3/4 the coordination is dead (Φ=0); at 3/4 it revives with an EGALITARIAN split (Φ=0.5, mediator 33%, parties 67%); the mediator 2/3 returns only at full faithfulness (4/4, Φ=2.0)", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#294", + "concept": "Value and veto under interest (Q139)", + "hypothesis": "Is Q112 decoupling (equal veto, unequal value) fixed, or does it move with interest?", + "verdict": "H1,H2 confirmed", + "result": "veto is universal (3/3) at every interestedness level with positive Φ -- Q112 democratic destruction is robust to interest. The value-veto gap (mediator share - 1/3) tracks integration not veto: +1/3 at Φ=2.0, 0 at Φ=0.5, independent of baseline/agenda. Destructive interest (AND) democratizes value to match the equal veto (gap closes); re-integrating interest (XOR) re-concentrates it (gap opens)", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#295", + "concept": "Coalition stability under interest (Q140)", + "hypothesis": "What does the cooperative-game core of the mediated triad look like, and what does interest do to it?", + "verdict": "H1,H2 confirmed", + "result": "faithful core is a single point: mediator takes 100% (not the Shapley 2/3), parties 0, because either party with the mediator reaches full value (v(WS)=v(SC)=v(N)=2) so each party is substitutable and has no stable claim. Interested mediator destroys the sub-coalition values (all 0) -> core opens to the whole simplex, parties can keep the entire reduced value (0.5)", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#296", + "concept": "The lagging objective (Q141)", + "hypothesis": "Does adaptation on a delay rescue the party that immediate adaptation displaces (Q129)?", + "verdict": "H1,H2 confirmed", + "result": "immediate objective (O=W&C, 4 nodes) displaces the worker -- core {S,C,O} Φ=1.0; a lagging objective (O=M, M=W&C, 5 nodes) re-integrates the worker -- core {W,S,C,O,M} Φ=2.0, all five bound. The timescale of the systems learning decides the workers place: real-time adaptation substitutes for the worker and pushes it out; slow learning (a memory of the joint state) keeps it constitutive", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#297", + "concept": "q144 mediator hierarchy depth", + "hypothesis": "workflow study", + "verdict": "confirmed", + "result": "H1 depth-is-flat-at-chain-constant: SUPPORTED", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#298", + "concept": "q145 spanning mediator law", + "hypothesis": "workflow study", + "verdict": "confirmed", + "result": "H1 spanning-mediator law (full span holds all, Φ linear in n; partial caps at span+1): SUPPORTED", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#299", + "concept": "q148 multihub chain hierarchy", + "hypothesis": "workflow study", + "verdict": "confirmed", + "result": "H1 (depth caps integrable group size): SUPPORTED", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#300", + "concept": "q150 ring chord integration", + "hypothesis": "workflow study", + "verdict": "refuted/refined", + "result": "H1 chord raises ring Φ and shifts MIP cut off the chord: REFUTED", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#301", + "concept": "q151 hub failure resilience", + "hypothesis": "workflow study", + "verdict": "confirmed", + "result": "H1 (redundant mediation buys verdict resilience): SUPPORTED", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#302", + "concept": "q183 build disagreement bridge", + "hypothesis": "workflow study", + "verdict": "confirmed", + "result": "H1 zero-anchored spread on identical accounts: SUPPORTED", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#303", + "concept": "q143 ring verdict geometry", + "hypothesis": "workflow study", + "verdict": "refuted/refined", + "result": "H1 ring is triadic with a single balanced two-arc cut of constant Φ in n: REFUTED", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#304", + "concept": "q146 smallworld rewire phi", + "hypothesis": "workflow study", + "verdict": "refuted/refined", + "result": "H1 non-monotone small-world Φ peak: REFUTED", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#305", + "concept": "q147 random boolean topology", + "hypothesis": "workflow study", + "verdict": "confirmed", + "result": "H1 (recurrence topology beats mean degree at predicting triadicity): SUPPORTED", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#306", + "concept": "q149 topology shapley split", + "hypothesis": "workflow study", + "verdict": "refuted/refined", + "result": "H1 (per-hub Shapley share falls monotonically as mediation distributes): REFUTED", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#307", + "concept": "q152 verdict vs complex topology", + "hypothesis": "workflow study", + "verdict": "confirmed", + "result": "H1 verdict-complex disagreement exists: SUPPORTED", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#308", + "concept": "q153 triadic dyadic classifier", + "hypothesis": "workflow study", + "verdict": "refuted/refined", + "result": "H1 CRQA features beat the majority baseline: REFUTED", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#309", + "concept": "q154 bottleneck node recovery", + "hypothesis": "workflow study", + "verdict": "refuted/refined", + "result": "H1 (coupling centrality recovers the structural bottleneck in >70% of seeded runs): REFUTED", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#310", + "concept": "q155 mc membership threshold", + "hypothesis": "workflow study", + "verdict": "refuted/refined", + "result": "H1 (single coupling-centrality threshold recovers membership at pooled AUC>0.65): REFUTED [AUC=0.649, null=0.494]", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#311", + "concept": "q156 interested mediator signature", + "hypothesis": "workflow study", + "verdict": "refuted/refined", + "result": "H1 (interested mediators show lower outgoing prominence, separating >70% of pairs): REFUTED", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#312", + "concept": "q157 te vs dcrp direction", + "hypothesis": "workflow study", + "verdict": "confirmed", + "result": "H1 (TE beats DCRP peak-lag by > 5 pp on directed-edge orientation): SUPPORTED [TE 77.2% - DCRP 56.5% = +20.7 pp]", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#313", + "concept": "q158 phi magnitude regression", + "hypothesis": "workflow study", + "verdict": "refuted/refined", + "result": "H1 DET correlates positively with major-complex Φ (rho>0.4): REFUTED", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#314", + "concept": "q159 length to verdict curve", + "hypothesis": "workflow study", + "verdict": "confirmed", + "result": "H1 CRQA verdict converges by 600 steps for >80% of forms with no gain past 1200: SUPPORTED", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#315", + "concept": "q160 five node complex recovery", + "hypothesis": "workflow study", + "verdict": "confirmed", + "result": "H1 (five-node full-separation fraction is LOWER than the four-node 36% rate, dissociation widens with scale): SUPPORTED", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#316", + "concept": "q161 noise robust verdict", + "hypothesis": "workflow study", + "verdict": "refuted/refined", + "result": "H1 (triad/dyad robust > 80% of forms AND bottleneck degrades > 20 pts): REFUTED", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#317", + "concept": "q162 feature ablation minimal", + "hypothesis": "workflow study", + "verdict": "refuted/refined", + "result": "H1 (coupling prominence A within 3 pts of full CRQA A+B): REFUTED", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#318", + "concept": "q163 computationalism under agenda", + "hypothesis": "workflow study", + "verdict": "confirmed", + "result": "H1 surplus rises then collapses (interested actor is a third object): SUPPORTED [approve rises, deny monotone]", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#319", + "concept": "q164 perceivable agenda fraction", + "hypothesis": "workflow study", + "verdict": "refuted/refined", + "result": "H1 (agenda LESS perceivable than a hidden rule: AUC 0.96 < 0.67): REFUTED", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#320", + "concept": "q165 intent compression into agenda", + "hypothesis": "workflow study", + "verdict": "confirmed", + "result": "H1 (interested Φ(q) strictly below faithful at every q<1 — interest steepens embodiment loss): SUPPORTED", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#321", + "concept": "q166 phantom addressee displaced", + "hypothesis": "workflow study", + "verdict": "confirmed", + "result": "H1 (the addressee inverts: W exits the core for an agenda-governed bind as k rises): SUPPORTED", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#322", + "concept": "q167 capture meets agenda", + "hypothesis": "workflow study", + "verdict": "refuted/refined", + "result": "H1 (an interested platform displaces the worker at a lower g* than a faithful one, monotonically in interest): REFUTED", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#323", + "concept": "q168 opacity floor under agenda", + "hypothesis": "workflow study", + "verdict": "confirmed", + "result": "H1 interest raises H(out\\", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#324", + "concept": "q169 lagging objective prediction lag", + "hypothesis": "workflow study", + "verdict": "confirmed", + "result": "H1 (lagging objective predicts the platform better at matched drift): SUPPORTED", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#325", + "concept": "q170 extracting platform tracking", + "hypothesis": "workflow study", + "verdict": "confirmed", + "result": "H1 (recovered-model KL is higher for the interested mediator than the faithful one): SUPPORTED", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#326", + "concept": "q171 drift binding with agenda", + "hypothesis": "workflow study", + "verdict": "refuted/refined", + "result": "H1 (drift and agenda super-additively destroy the binding): REFUTED", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#327", + "concept": "q172 facet difficulty under interest", + "hypothesis": "workflow study", + "verdict": "refuted/refined", + "result": "H1 (interest is facet-selective, concentrated on the named survey facets): REFUTED", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#328", + "concept": "q173 build rule to phi", + "hypothesis": "workflow study", + "verdict": "confirmed", + "result": "H1 verdict reproducibility + degenerate CI under agreement: SUPPORTED", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#329", + "concept": "q184 gig dispatch spread", + "hypothesis": "workflow study", + "verdict": "confirmed", + "result": "H1 driver-dyad vs platform-triad split, phi_gap = platform Φ (2.000000): SUPPORTED", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#330", + "concept": "q185 ats commit convey spread", + "hypothesis": "workflow study", + "verdict": "confirmed", + "result": "H1 commit/convey spread on identical topology: SUPPORTED", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#331", + "concept": "q186 spread decomposition law", + "hypothesis": "workflow study", + "verdict": "confirmed", + "result": "H1 three components not rank-one collinear (both off-diagonal cells non-empty: 14, 1; some rho<1: True): SUPPORTED", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#332", + "concept": "q187 moderation oversight spread", + "hypothesis": "workflow study", + "verdict": "confirmed", + "result": "H1 disagreement localizes to the policy-team node: SUPPORTED", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#333", + "concept": "q188 handoff directionality spread", + "hypothesis": "workflow study", + "verdict": "confirmed", + "result": "H1 one-way dyadic / reciprocal triadic, I in core only under reciprocal: SUPPORTED", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#334", + "concept": "q190 spread robustness noise", + "hypothesis": "workflow study", + "verdict": "confirmed", + "result": "H1 (flips occur only near the dyad/triad boundary, never far from it): SUPPORTED", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#335", + "concept": "q193 phi bridge build", + "hypothesis": "workflow study", + "verdict": "confirmed", + "result": "H1 (Φ_coord predicts ACS-total, r>0.20 & CI excludes 0): SUPPORTED", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#336", + "concept": "q174 alpha phi width", + "hypothesis": "workflow study", + "verdict": "confirmed", + "result": "H1 monotone CI width tracks agreement: SUPPORTED", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#337", + "concept": "q175 substitutability flipper", + "hypothesis": "workflow study", + "verdict": "confirmed", + "result": "H1 substitutable pool drives max_phi to 0 (dyadic) for all k>=2: SUPPORTED", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#338", + "concept": "q176 passthrough flipper", + "hypothesis": "workflow study", + "verdict": "refuted/refined", + "result": "H1 pass-through flip is universal (100% flip rate): REFUTED", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#339", + "concept": "q177 spectator complex", + "hypothesis": "workflow study", + "verdict": "confirmed", + "result": "H1 (idle spectator leaves the triadic core intact in >95% of accounts): SUPPORTED (core stable in 1.000 of triadic-core accounts)", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#340", + "concept": "q178 bit grain sensitivity", + "hypothesis": "workflow study", + "verdict": "confirmed", + "result": "H1 threshold flips verdict for >20% of accounts (flip rate 0.3300): SUPPORTED", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#341", + "concept": "q179 time grain sensitivity", + "hypothesis": "workflow study", + "verdict": "confirmed", + "result": "H1 (>15% of triadic accounts flip under the 2-tick grain): SUPPORTED", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#342", + "concept": "q180 individuation boundary", + "hypothesis": "workflow study", + "verdict": "confirmed", + "result": "H1 splitting flips the verdict for >20% of accounts (flip rate 0.452): SUPPORTED", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#343", + "concept": "q181 flipper interaction", + "hypothesis": "workflow study", + "verdict": "confirmed", + "result": "H1 flippers do not interact to restore irreducibility (no triadic re-emergence): SUPPORTED", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#344", + "concept": "q182 adversarial coding", + "hypothesis": "workflow study", + "verdict": "confirmed", + "result": "H1 adversary flips point verdict on >40% of attacked accounts: SUPPORTED", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#345", + "concept": "q189 peer review veto spread", + "hypothesis": "workflow study", + "verdict": "confirmed", + "result": "H1 gate/conduit spread puts editor core membership in dispute (core_jaccard<1): SUPPORTED", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#346", + "concept": "q191 triage spectator spread", + "hypothesis": "workflow study", + "verdict": "confirmed", + "result": "H1 unread spectator leaves no Φ trace (spread=0 despite membership disagreement): SUPPORTED", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#347", + "concept": "q192 spread reconciliation cost", + "hypothesis": "workflow study", + "verdict": "refuted/refined", + "result": "H1 edit distance increases with the Φ spread: REFUTED", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#348", + "concept": "q194 phi facet specificity", + "hypothesis": "workflow study", + "verdict": "confirmed", + "result": "H1 (Φ predicts CI more than SE; Δr CI excludes 0): SUPPORTED", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#349", + "concept": "q195 phi incremental over se", + "hypothesis": "workflow study", + "verdict": "confirmed", + "result": "H1 (partial r(Φ,ACS\\", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#350", + "concept": "q196 phi commit moderation", + "hypothesis": "workflow study", + "verdict": "confirmed", + "result": "H1 (Φ_coord×SA-commit interaction on ACS-total is positive, CI excludes 0): SUPPORTED", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#351", + "concept": "q197 phi invariance waves", + "hypothesis": "workflow study", + "verdict": "confirmed", + "result": "H1 (metric invariance, slope equal across W1-W3, ΔCFI<= 0.01): SUPPORTED", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#352", + "concept": "q198 phi predicts growth", + "hypothesis": "workflow study", + "verdict": "confirmed", + "result": "H1 (W1 Φ_coord predicts the ACS-growth slope, β>0 & CI excludes 0): SUPPORTED", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#353", + "concept": "q199 phi growth mechanism", + "hypothesis": "workflow study", + "verdict": "confirmed", + "result": "H1 (within-person ΔΦ tracks ΔACS, within slope > 0 & CI excludes 0): SUPPORTED", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#354", + "concept": "q200 phi bifactor loadings", + "hypothesis": "workflow study", + "verdict": "confirmed", + "result": "H1 (Φ_coord loads on the GENERAL factor, β>0 & CI excludes 0, and the general path exceeds each specific-facet path): SUPPORTED", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#355", + "concept": "q201 phi substitutability capture", + "hypothesis": "workflow study", + "verdict": "confirmed", + "result": "H1 (SU lowers Φ_coord, CI<0; lower Φ_coord predicts lower ACS, CI>0): SUPPORTED", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#356", + "concept": "q202 phi bridge falsification", + "hypothesis": "workflow study", + "verdict": "confirmed", + "result": "H1 (worker-form shuffle destroys every Φ_coord-to-ACS relation; real r outside null at p<.05 in all cohorts): SUPPORTED", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#357", + "concept": "q203 real coordination coupling", + "hypothesis": "real-data study", + "verdict": "mixed", + "result": "CRQA reads structure (%DET 59.8); TE/Granger/CCM agree on direction (P2->P1) but none significant — behavioral coupling gives no confident verdict on a real dyad", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#358", + "concept": "q204 phi on real coordination", + "hypothesis": "real-data study", + "verdict": "mixed", + "result": "first exact Phi on a real coordination (eyemovement gaze); per-person codings factorize (Phi~0) while a folded coding manufactures integration (Phi 0.53) — the verdict is coder-dependent on real data", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#359", + "concept": "q205 latency feedback", + "hypothesis": "computational", + "verdict": "confirmed", + "result": "represented latency keeps the triad triadic (whole-system Phi 2.0->1.0, buffer joins the core {S,C,B} and the worker drops out); the same dynamics read one-step over (W,S,C) only factor (dyadic, Phi~0) while the same estimation on the undelayed triad stays triadic (Phi 0.765) — one-step Phi misses lag only when the delay is unmodeled, formalizing the q204 caveat", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#360", + "concept": "q206 ring parity rewire", + "hypothesis": "computational", + "verdict": "mixed", + "result": "coupling family governs the rewiring response: the conjunctive ring's decline is non-monotone on a finer grid (dyadic window at p=0.35-0.40, triadic recovery at 0.45-0.50; H2 refuted, q146's monotone result is a coarse-grid artifact), while a parity (XOR) ring starts 8x less integrated (Phi 0.5 vs 4.0, H3) yet never factors under rewiring (triadic at p=0,0.35,1.0; H4 refuted, H5 confirmed) — AND…", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#361", + "concept": "q207 slow mediator", + "hypothesis": "computational", + "verdict": "mixed", + "result": "a half-rate mediator (clock-gated, recomputes every 2nd step) does NOT bind: the triad factors (dyadic, Phi 0) and the only complex left is the clock's own 2-cycle {K} Phi 1.0 (H2,H3 refuted; H4,H5 confirmed; frozen mediator gives the identical result) — contrast q205: delaying when a commitment ARRIVES keeps the triad triadic, but reducing how OFTEN the mediator commits dissolves it", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#362", + "concept": "q208 latency depth", + "hypothesis": "computational", + "verdict": "mixed", + "result": "sweeping represented-latency depth k=0..3 (buffers): the triad stays triadic at every depth (H2) but whole-system Phi_MIP is NON-monotone (2.0,1.0,2.0,2.0) — the k=1 worker-drop and Phi-halving q205 reported is a depth-1 ANOMALY (H3,H5 refuted), not a decay law; at k>=2 the worker rejoins and the whole delay line + triad is one complex at Phi=2.0 (H4)", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#363", + "concept": "q209 commit period", + "hypothesis": "computational", + "verdict": "confirmed", + "result": "period-sweep of the commit cadence (p=1..4 via mod-p counter): synchronous commitment is the UNIQUE binding cadence — p=1 triadic Phi=2.0, every p>=2 dyadic Phi=0 with no threshold/recovery (H2,H3,H5). The surviving complex is period-INVARIANT: always a single self-toggling bit at Phi=1.0 (the 2-bit counter never forms an integrated pair, carry is one-way), not growing with period (H4 flat)", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#364", + "concept": "q210 shared counterpart", + "hypothesis": "computational", + "verdict": "mixed", + "result": "two conjunctive triads sharing one counterpart do NOT merge into one core (all 4 hypotheses refuted): no bridge rule (none/AND/OR) makes the major complex span both triads or exceed the single-triad Phi=2.0 — the maximal complex stays one local triad {W1,S1,C} or a tie-broken pair {W2,S2}", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#365", + "concept": "q211 direct mediator channel", + "hypothesis": "computational", + "verdict": "confirmed", + "result": "the complement of q210: two complete triads joined only by a DIRECT mediator-mediator channel (S1 reads S2, S2 reads S1; none/AND/OR) DO merge (all 5 hypotheses confirmed). AND channel -> whole triadic Phi_MIP=2.0, major complex {S1,W2,S2,C2} Phi=3.0 spanning both triads and super-additive (>2.0); OR -> whole factors but mediators bind into {S1,S2} Phi=2.0 across the boundary", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#366", + "concept": "q212 channel location", + "hypothesis": "computational", + "verdict": "confirmed", + "result": "localizes the q211 merger by moving the same AND cross-triad channel across three homologous node pairs: ONLY the mediator-mediator channel merges (core {S1,W2,S2,C2} spans both triads, Phi=3.0). Worker-worker and counterpart-counterpart channels do NOT merge — core stays inside one triad at Phi=2.0, and the two leaf positions agree (worker/counterpart symmetric)", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#367", + "concept": "q213 contingent irreducibility", + "hypothesis": "computational", + "verdict": "confirmed", + "result": "NEW CATEGORY + reusable classifier (classifier/contingency.py): a party can be in the core because it integrates (intrinsic) or because a constraint forbids the bypass around it (contingent — the car dealer: a pure relay, irreducible only because franchise law forbids the maker selling direct)", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#368", + "concept": "q214 triadic classification", + "hypothesis": "computational", + "verdict": "confirmed", + "result": "applies the q213 bypass-counterfactual to 19 canonical triad types from the brokerage/sociology/economics literature (Simmel, Gould-Fernandez, Obstfeld, Burt, Quintane-Carnabuci, Rochet-Tirole). The verbal gaudens/iungens line IS the formal contingent/necessary line: all 5 gaudens-family brokers (gaudens, separans, divide-et-impera, structural-hole, bridge) -> contingent margin 2.0; integrators…", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#369", + "concept": "thinkers/simmel H1 superindividual triad", + "hypothesis": "computational", + "verdict": "confirmed", + "result": "Simmel (1902, I: 45): the dyad has no \"superindividual energy\"; the triad has, via the \"broken line\" through the third. Mutual dyad Phi=2.0 {A,B}; mutual triad Phi=6.0 {A,B,C}; direct A-B tie removed (A'=C, B'=C, C'=A&B) still binds A and B through C at Phi=2.0 — Simmel's broken line IS the lab's conjunctive-mediator control; cut dyad Phi=0, a single self-reading element remains", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#370", + "concept": "thinkers/simmel H2 the decisive step", + "hypothesis": "computational", + "verdict": "refuted", + "result": "Simmel: the 2->3 step changes the group in kind, later steps in degree. Mutual conjunctive cliques n=2..5: Phi = 2, 6, 12, 20 = n(n-1) (the count of directed ties); increments +4, +6, +8 GROW, so the 2->3 step is not distinguished on the pre-registered absolute rule. Post hoc: the proportional jump (x3, x2, x1.67) is largest at 2->3. thinkers/simmel/probe_simmel_number.py", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#371", + "concept": "thinkers/simmel H3 the majority", + "hypothesis": "computational", + "verdict": "refuted", + "result": "Simmel: at three a majority \"can override the individual\" — the triad's mechanism of superindividuality. A triad where each member follows maj(A,B,C) has NO irreducible structure: Phi_MIP=0 and no complex at any state, not even a pair; unanimity (X'=A&B&C) binds at Phi=6.0 {A,B,C}", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#372", + "concept": "thinkers/simmel H4 mediator or arbitrator", + "hypothesis": "computational", + "verdict": "partial", + "result": "Simmel's nonpartisan scale: arbitrator (parties adopt M's decision) in core Phi=2.0; mediator (parties keep their will, A'=A&M, read only M) ALSO in core at Phi=2.0 — no \"intermediate grade\"; self-eliminated mediator (parties unite directly, M unread) out, whole factors, pair remains at 2.0 (cf. q214's self-liquidating iungens)", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#373", + "concept": "thinkers/simmel H5 tertius gaudens", + "hypothesis": "computational", + "verdict": "confirmed", + "result": "Simmel: the third's leverage is set \"exclusively\" by the balance between the two. Weighted outcome O'=[wAA + wTT > wBB + wT(1-T)], A'=B'=T'=O, only weights vary: balanced (1,1,1) infl(T)=.75, core {T,O} Phi=2.0; intermediate (2,1,1) infl .5, core {T,O} 0.277; dictator (3,1,1) infl .25, T out, core {A,O} 2.0. Membership tracks pivotality (probes 11, 16)", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#374", + "concept": "thinkers/peirce H1 triadic irreducibility", + "hypothesis": "computational", + "verdict": "refuted", + "result": "Peirce (CP 2.274): a genuine triad's members are bound \"in a way that does not consist in any complexus of dyadic relations.\" Rendering: a relation = an irreducible IIT-4.0 distinction; its adicity = \\", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#375", + "concept": "thinkers/peirce H2 grades of degeneracy", + "hypothesis": "computational", + "verdict": "confirmed", + "result": "Peirce (CP 1.473): every triad is monadically degenerate, dyadically degenerate, or genuine. His exemplars order exactly by adicity: three monads (A'=A,B'=B,C'=C) 1; \"A father of B, B father of C\" (B'=A, C'=B) 2; the conjunctive control 3. Degenerate forms Φ=0 with no complex above one element. thinkers/peirce/probe_peirce_degeneracy.py", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#376", + "concept": "thinkers/peirce H3 giving", + "hypothesis": "computational", + "verdict": "confirmed", + "result": "Peirce (CP 1.345, 8.331): \"A gives B to C\" is genuine; \"A's putting B away … C's subsequently taking B up\" is \"one dyadic relation followed by another.\" Genuine (G'=¬R, T'=¬R, R'=G∧T): adicity 3 (R←{G,T} φ=2.0), Φ=2.0 {G,T,R}. Degenerate (G'=¬R, T'=G, R'=T): adicity 2, yet ALSO Φ=2.0 {G,T,R}", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#377", + "concept": "thinkers/peirce H4 the sign relation", + "hypothesis": "computational", + "verdict": "partial", + "result": "Peirce (CP 2.274, 5.484): sign, object, interpretant are \"bound together,\" \"not resolvable into actions between pairs.\" Exogenous dynamical object (O'=O, S'=O, I'=S↔O): adicity 3 ({O,S}→{S,I} φ=1.0, effect side; cause side 2) but Φ=0, core {O} alone — a genuine triad in a system that factors (probe 5: the source is out)", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#378", + "concept": "thinkers/peirce H5 polyadic reducibility", + "hypothesis": "computational", + "verdict": "confirmed", + "result": "Peirce (CP 1.363): tetrads are compounds of triads (\"A sells C to B for the price D\"). 60 random 4-node forms, each node reading 2 others via {AND,OR,XOR,NAND,NOR,XNOR} (seed 0): adicity {3: 2, 4: 58}; cause-side 4 in 43 (a pair jointly determined by a pair, e.g. {B,D}←{A,C} φ=1.0 in A=AND(C,D),B=OR(C,D),C=NOR(B,D),D=XNOR(A,C)); Φ>0 in 46, 4-member core in 7, Φ=3.0 in 4", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#379", + "concept": "thinkers/caplow H1 power predicts the coalition", + "hypothesis": "computational", + "verdict": "partial", + "result": "Caplow (1956, 1959): eight power types, a predicted pair for each. Rendered by his own assumptions (stronger partner controls the bloc; strength additive in the outcome; members read the outcome; 4 nodes A,B,C,O). A coalition BINDS iff both partners in the major complex", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#380", + "concept": "thinkers/caplow H2 strength is weakness", + "hypothesis": "computational", + "verdict": "confirmed", + "result": "Over the 5 binding coalitions (t1_AB, t1_AC, t1_BC, t2_BC, t3_BC) A is a party to 2, B to 4, C to 4 — strength is weakness among wholes. Over all 24 coalition forms A is in the core 18 times, B 7, C 6 — strength is strength among cores (dominance dyads {A,O}). thinkers/caplow/probe_caplow_weakness.py", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#381", + "concept": "thinkers/caplow H3 A ≥ B+C", + "hypothesis": "computational", + "verdict": "partial", + "result": "Caplow: \"true coalition is impossible\" (Types 4, 6); at A = B+C (7, 8) BC \"can block ... not sufficient to control.\" BC never binds in 4,6,7,8; Types 4,6: every form incl. precoalition core {A,O}. ADDITION: Type 7 (3,2,1) blocking BC (bloc = B) yields core {A,B,O} Φ=2.0 — the block binds A to his blocker; Type 8 (2,1,1) BC (bloc B∧C) core {A,C,O} 0.158 (B,C symmetric)", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#382", + "concept": "thinkers/caplow H4 conservative/revolutionary/improper", + "hypothesis": "computational", + "verdict": "partial", + "result": "Caplow 1968, Type 5 (4,3,2): AB conservative → core {A,O}; AC improper → {A,O}; BC revolutionary → {B,O}. A out of the core only under BC (as the kinds imply); NO Type 5 coalition binds both partners — the junior partner is a spectator in all three. thinkers/caplow/probe_caplow_kinds.py", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#383", + "concept": "thinkers/caplow H5 strength is additive", + "hypothesis": "computational", + "verdict": "refuted", + "result": "Caplow A.3: coalition strength = sum. 20 of 24 coalitions win; 5 bind; binding coincides EXACTLY with equal partner weights (equal winners 5/5, unequal winners 0/15). Same margin, different structure: t2_BC (4 v 3) binds, t3_AB (3 v 2) is {B,O}. Strength adds; wholeness does not (finding 3; probe 373). thinkers/caplow/probe_caplow_additivity.py", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#384", + "concept": "thinkers/heider H1 balance as sign product", + "hypothesis": "computational", + "verdict": "partial", + "result": "Heider (1946: 110) / Cartwright–Harary: balanced iff sign product +. Rule: signed majority with hold, s_i' = maj(σ_ij·s_j, σ_ik·s_k, s_i), self-dual so switching-equivalent patterns are one structure. All 8 sign vectors → exactly 2 classes by (Φ, core, attractors), matching the product. BUT balanced class (+++, +−−) Φ=0.000, no complex; unbalanced (++−, −−−) Φ=6.000, core {p,o,q}", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#385", + "concept": "thinkers/heider H2 rest and tension", + "hypothesis": "computational", + "verdict": "confirmed", + "result": "Balanced patterns: 2 rest states (all relations satisfied) each, all attractors rest. Unbalanced: no rest state; attractors = 6 frozen unsatisfied fixed points (\"if a change is not possible ... tension\") + 1 two-cycle (\"forces ... will arise\") each. thinkers/heider/probe_heider_tension.py", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#386", + "concept": "thinkers/heider H3 the all-negative triad", + "hypothesis": "computational", + "verdict": "refuted", + "result": "Heider: −−− \"too indetermined,\" a third kind; Davis 1967: clusterable. −−− and ++− identical: Φ 6.000, core 3, 7 attractors (6 fixed + 1 cycle). One person's complement carries one into the other. Two kinds, not three. thinkers/heider/probe_heider_allnegative.py", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#387", + "concept": "thinkers/heider H4 attitudes and relations coevolve", + "hypothesis": "computational", + "verdict": "confirmed", + "result": "Six nodes (p,o,q,Lpo,Lpq,Loq); L_ij' = [s_i = s_j]. Whole Φ_MIP=0.000; core {p, o, Lpo} Φ=3.000 — two persons and their relation bind, the triad does not. 8 fixed points, ALL balanced rest states (2 unanimous +++, 6 two-against-one +−−); 12 two-cycles (attitudes/relations out of phase; synchronous-update caveat). ~2–4 min. thinkers/heider/probe_heider_coevolution.py", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#388", + "concept": "thinkers/heider H5 degree of balance (K4)", + "hypothesis": "computational", + "verdict": "refuted", + "result": "Cartwright–Harary b(G) = positive cycles / 7 over the 8 switching classes of signed K4 (majority with hold over 3 signed inputs + self). Balanced class Φ=0.000 (core a dyad, 2.0); six single-negative-edge classes Φ=0.000 (core one node); the perfect-matching class (every person has one enemy) Φ=12.000, core all four", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#389", + "concept": "thinkers/latour H1 the intermediary counts for one", + "hypothesis": "computational", + "verdict": "refuted", + "result": "Latour (2005: 39): an intermediary \"transports without transformation ... a black box counting for one.\" k = 0..3 copy-relays in a mutual dyad's tie: Φ_MIP = 2.000 at EVERY k (counts for one in Φ), but every relay is in the core — {A,B}, {A,I1,B}, …, {A,I1,I2,I3,B}. An intermediary in a loop counts for one more. thinkers/latour/probe_latour_intermediary.py", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#390", + "concept": "thinkers/latour H2 the mediator counts", + "hypothesis": "computational", + "verdict": "partial", + "result": "Between A and B (A'=B, B'=M): copy M → core {A,M,B}; joint M'=A∧B → core {M,B} (A, a delayed copy of B, is evicted); specific M'=A⊕M → core {A,M,B}. All Φ 2.000. Mediators count; so does the intermediary; the joint mediator makes a neighbour count for nothing. thinkers/latour/probe_latour_mediator.py", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#391", + "concept": "thinkers/latour H3 actor = whatever makes a difference", + "hypothesis": "computational", + "verdict": "refuted", + "result": "Latour (2005: 71). Boolean influence vs membership. Source (S'=S, M'=S∧A, A'=M): S makes a difference to M at every step, whole Φ_MIP 0.000, core {M,A} — S is outside what it drives. Spectator out too. Every core member makes a difference (necessary); not sufficient. Finding 3 restated: be read AND return. thinkers/latour/probe_latour_difference.py", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#392", + "concept": "thinkers/latour H4 the citizen-gun", + "hypothesis": "computational", + "verdict": "partial", + "result": "Latour (1994: 31–34). Translation X'=C∧G, C'=X, G'=X → {C,G,X} Φ 2.000. Autonomous destiny G'=G, X'=G, C'=X → core {G} alone, Φ 1.000 (citizen and act out). Neutral tool G'=C, X'=G, C'=X → {C,G,X} Φ 2.000 — the \"mere tool\" is a relay in a loop and binds; identical to translation. The two myths are not symmetrical on this criterion. thinkers/latour/probe_latour_gun.py", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#393", + "concept": "thinkers/latour H5 the star of mediators", + "hypothesis": "computational", + "verdict": "confirmed", + "result": "Latour (2005: 217). Center A'=M1∧M2∧M3. Mediators M_i'=A∧M_{i+1}: core all four, Φ 5.000. Intermediaries M_i'=A: core all four, Φ 3.000. Attachments first in both; the mediator adds integration, the intermediary adds a member. Latour's line sorts Φ, not membership. thinkers/latour/probe_latour_star.py", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#394", + "concept": "thinkers/burt H1 closure by cohesion, both brokers", + "hypothesis": "computational", + "verdict": "partial", + "result": "Burt (1992: 18, 30): the hole is \"an insulator\"; the same holes give information and control benefits. Information broker E=X∧Y, control broker E=X∨Y, contacts or(E[,other]). Open: both in core Φ 2.000, V(E)=2.000, advantage 2.000", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#395", + "concept": "thinkers/burt H2 structural equivalence", + "hypothesis": "computational", + "verdict": "refuted", + "result": "Burt (1992: 19): same contacts = redundant \"regardless of the relation between\" them. equivalent (X,Y both read Z): whole Φ_MIP 1.000, core {E,Y,Z} — one evicted, as Burt says. nonredundant (Z1,Z2): whole irreducible at 2.000 but major complex {E,Y,Z2} at 2.000 — a TIE; both contacts not in core → fails the rule", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#396", + "concept": "thinkers/burt H3 constraint gradient", + "hypothesis": "computational", + "verdict": "partial", + "result": "Burt (1992: 54–55): advantage falls with aggregate constraint. Three contacts, 0/1/2/3 ties: C_E 0.333/0.611/0.840/0.926; V(E) 3.000/0/0/0. Monotone, not graded: the first tie among contacts makes them a complex that excludes the broker (k1 whole Φ_MIP 0; k3 contacts an OR-clique 6.000, E's positional advantage −4.000). The hole is a cliff, not a slope. thinkers/burt/probe_burt_constraint.py", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#397", + "concept": "thinkers/burt H4 the rival broker", + "hypothesis": "computational", + "verdict": "confirmed", + "result": "Burt (1992: 45): holes around your contacts \"and none attached to yourself.\" Rival R=X∧Y beside E=X∧Y, contacts or(E,R): whole reducible (Φ_MIP 0), largest complex {R,Y} 0.189, V(E)=V(R)=−1.811 (without either the rest is the conjunctive triad at 2.000). A replacement does not divide the advantage; it removes the whole. thinkers/burt/probe_burt_rival.py", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#398", + "concept": "thinkers/burt H5 closure within, brokerage beyond", + "hypothesis": "computational", + "verdict": "refuted", + "result": "Burt (2000/2001/2005): closure inside the group realizes the value of brokerage beyond it. E=A1∧A2∧O: open V(E)=3.000 (advantage 2.000); within (A1–A2) 0; across (A1–O) 0; everywhere 0 (contacts a clique 6.000, E −4.000). Any closure around the broker closes over him. Burt 1992 beats Burt 2001. thinkers/burt/probe_burt_complement.py", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#399", + "concept": "thinkers/granovetter H1 strength is graded", + "hypothesis": "computational", + "verdict": "confirmed", + "result": "Granovetter (1973: 1361): strength a graded symmetric combination, first dimension time. Tie of strength p = each endpoint reads the other w.p. p per step; AND of reads, hold if none; exact Φ on the stochastic TPM. Dyad Φ 0.252 / 0.658 / 1.236 / 2.000 at p = .25 / .5 / .75 / 1 — monotone, not linear. thinkers/granovetter/probe_granovetter_strength.py", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#400", + "concept": "thinkers/granovetter H2 the forbidden triad", + "hypothesis": "computational", + "verdict": "confirmed", + "result": "Granovetter (1973: 1363): with A–B, A–C strong the B–C tie is \"always present (whether weak or strong).\" Open = the conjunctive triad Φ 2.000; weak-closed 2.830; strong-closed 6.000; core {A,B,C} each. The forbidden triad is already a whole; each closure adds integration in his order. thinkers/granovetter/probe_granovetter_triad.py", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#401", + "concept": "thinkers/granovetter H3 the bridge", + "hypothesis": "computational", + "verdict": "refuted", + "result": "Granovetter (1973: 1364): \"all bridges are weak ties\"; a bridge is the only path. Two strong dyads + bridge a2–b1: transmission 12 pairs weak or strong; major complex ONE DYAD {b1,b2} 2.000 under both; whole Φ_MIP 0.830 (weak), 2.000 (strong — ties the dyad). A bridge of any strength transmits across and integrates nothing across. thinkers/granovetter/probe_granovetter_bridge.py", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#402", + "concept": "thinkers/granovetter H4 damage", + "hypothesis": "computational", + "verdict": "partial", + "result": "Granovetter (1973: 1366): removing a weak tie damages transmission more. Cut the weak bridge: −8 pairs; cut a strong within-dyad tie: −6. Major-complex Φ: unchanged either way (surviving dyad 2.000); whole Φ_MIP 0.830 → 0 either way. Right on transmission; nothing to lose on integration. thinkers/granovetter/probe_granovetter_damage.py", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#403", + "concept": "thinkers/granovetter H5 local cohesion, overall fragmentation", + "hypothesis": "computational", + "verdict": "partial", + "result": "Granovetter (1973: 1373–78): cliques without weak ties are fragmented at the aerial view; weak ties integrate. Three strong dyads: isolated Φ_MIP 0; weak CHAIN transmission 30 but core still a dyad (whole 0.830); weak RING core all six at 2.490; strong ring 4.000. Weak ties integrate when they close a cycle, not when they form a path. ~6 min. thinkers/granovetter/probe_granovetter_community.py", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#404", + "concept": "thinkers/bowen H1 the smallest stable system", + "hypothesis": "computational", + "verdict": "refuted", + "result": "Bowen (1978: 373): the triangle is \"the smallest stable relationship system.\" Togetherness = reading, anxiety = flip noise, stability = Φ retained. Triangled form (A reads B∧C; B reads A; C reads A∧B) retains LESS than the dyad at every ε (.794/.836, .618/.687, .347/.434, .167/.238) and its core is {A,C}, never the triad", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#405", + "concept": "thinkers/bowen H2 twosome and outsider", + "hypothesis": "computational", + "verdict": "refuted", + "result": "Bowen (1978: 373, 174): calm = close twosome + outsider; tension \"triangles\" the third. Calm core {A,B}, C out ✓. Triangled core {A,C} at 2.000 (whole 1.000): the third DISPLACES the other insider rather than joining — Bowen's own rotation (\"one of the original insiders now becomes the new outsider\"), not his unit claim. thinkers/bowen/probe_bowen_twosome.py", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#406", + "concept": "thinkers/bowen H3 the outside position costs least", + "hypothesis": "computational", + "verdict": "confirmed", + "result": "Bowen (1978: 373–74): \"in periods of stress, the outside position is the most comfortable.\" Anxiety at one position of the triangled form: loss at ε=.1 A .237, B .237, C .100; at .2 .458/.458/.200. Anxiety at B (outside the {A,C} core) costs the core nothing; anxiety at C moves the core back to {A,B}. The anxious party is the one left out. thinkers/bowen/probe_bowen_outside.py", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#407", + "concept": "thinkers/bowen H4 interlocking triangles", + "hypothesis": "computational", + "verdict": "refuted", + "result": "Bowen (1978: 373–74): a fourth is triangled by the same move; the system is \"a series of interlocking triangles.\" At ε=0 the four are ONE complex {A,B,C,D} at 2.000 (pre-registered test fails); at every ε>0 the core is the triangle {A,C,D}; the four retain less than the three (.728/.794 … .097/.167). The triangle is the unit of the anxious system, not the calm one", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#408", + "concept": "thinkers/bowen H5 detriangling", + "hypothesis": "computational", + "verdict": "partial", + "result": "Bowen (1978: 174–75): a third in contact with both who does not react lets the twosome's tension resolve. Neutral C (reads both, read by both, holds) is OUT of the core; reactive C is IN (clique 6.000) ✓. But the insiders' core retains no more with the neutral third than the bare dyad (.836/.836, .686/.687, .423/.434, .210/.238) ✗ — under anxiety a read-but-unresponsive party is a noise source", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#409", + "concept": "thinkers/hegel H1 the middle founds the connection", + "hypothesis": "computational", + "verdict": "refuted", + "result": "Hegel (SL 588; EL §181R): \"everything is a syllogism.\" Syllogism = the conjunctive triad under Hegel's labels: Φ 2.000, core {A,M,B}. Judgment (copy dyad) also 2.000 — the middle adds a member, no integration. Minus-M: whole Φ 0, but a self-holding extreme counts as a one-node complex (Φ 1) so the pre-registered \"no complex\" clause failed (post hoc with constants: no complex)", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#410", + "concept": "thinkers/hegel H2 the external middle", + "hypothesis": "computational", + "verdict": "confirmed", + "result": "Hegel (EL §182; SL 635–36): the formal middle is \"only the abstract particularity,\" communication passes \"without transition into the opposite.\" Relay (A holds, M copies A, B copies M) and broadcast: Φ 0, every term reachable from A, M in no complex. The conduit result in Hegel's vocabulary. thinkers/hegel/probe_hegel_external.py", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#411", + "concept": "thinkers/hegel H3 return through the middle", + "hypothesis": "computational", + "verdict": "confirmed", + "result": "Hegel (EL §182): \"the subject joins itself together with itself by means of this mediation.\" Half-return (M reads B, B does not read M): core {A,M}, B out; syllogism core {A,M,B}. Return is the membership condition. thinkers/hegel/probe_hegel_return.py", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#412", + "concept": "thinkers/hegel H4 the system of three syllogisms", + "hypothesis": "computational", + "verdict": "partial", + "result": "Hegel (SL 642–43; EL §198R): each term \"runs through the determination of the middle term and the extreme\"; \"the state is a system of three syllogisms.\" Shares (deletion cost): syllogism A 0, M 1.000 (2.000 with orphans constant), B 0 — the middle bears all; system (clique) 4.000 each — no binder. Φ(system) 6.000 = 3 × Φ(syllogism). thinkers/hegel/probe_hegel_system.py", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#413", + "concept": "thinkers/hegel H5 the rotating middle", + "hypothesis": "computational", + "verdict": "partial", + "result": "Moss's (2013) process reading: each term middle in turn by a three-phase clock. Rotating core {A,B,C} at 2.000 with the clock out — ONE syllogism's Φ, not the system's 6.000. Alternation in time spreads the middle's role and does not sum the syllogisms; simultaneity does. thinkers/hegel/probe_hegel_rotating.py", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#414", + "concept": "thinkers/girard H1 the straight line is not essential", + "hypothesis": "computational", + "verdict": "refuted", + "result": "Girard (1965: 2): \"the mediator is there, above that line, radiating toward both.\" S copies M; M = S∧O; O = M∧S. Internal core is {M, O} at 2.000 — the SUBJECT is out (whole 1.000). Minus M: no complex ✓. Subject and object are not one through the mediator; the mediator and object are one without the subject. thinkers/girard/probe_girard_triangle.py", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#415", + "concept": "thinkers/girard H2 external and internal mediation", + "hypothesis": "computational", + "verdict": "refuted", + "result": "Girard (1965: 9): external = no contact between spheres; internal = penetration. External: S, O not one ✓ (M alone a self-holding one-node complex, clause failed on the artifact). Internal core {M, O}, not the triad. The distinction survives — no complex spans the spheres when external, one does when internal — but the complex is a pair. thinkers/girard/probe_girard_mediation.py", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#416", + "concept": "thinkers/girard H3 the object is a means of reaching the mediator", + "hypothesis": "computational", + "verdict": "confirmed", + "result": "Girard (1965: 10, 99): \"the impulse toward the object is ultimately an impulse toward the mediator\"; each copies \"the copy of his own desire.\" Double mediation core {S, M} 2.000 = bare dyad 2.000; O out. The object adds nothing. thinkers/girard/probe_girard_object.py", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#417", + "concept": "thinkers/girard H4 distance", + "hypothesis": "computational", + "verdict": "confirmed", + "result": "Girard (1965: 9): \"we have only to vary the distance.\" M reads S w.p. p: core {M} alone at p ≤ .25; {S, M} at p = .5 (1.000), .75 (1.500), 1 (2.000). O in the core at no p. A threshold, then a gradient. thinkers/girard/probe_girard_distance.py", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#418", + "concept": "thinkers/girard H5 doubles", + "hypothesis": "computational", + "verdict": "confirmed", + "result": "Girard (1965: 122): \"differences ... gradually dissolve.\" Shares: double S 2.000, M 2.000, O 0 — the rivals interchangeable; internal S 0, M 2.000, O 0 — the disciple dispensable, the model not. thinkers/girard/probe_girard_doubles.py", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#419", + "concept": "thinkers/serres H1 the one-way arrow is the atom of relation", + "hypothesis": "computational", + "verdict": "refuted", + "result": "Serres (1982: 7–8): \"the simple, irreversible arrow ... the atomic form of our relations.\" A parasite reading a constant producer: no complex, Φ 0. Exchange A ⇄ B: 2.000. The lab's standing result; the instrument sides with Simmel. thinkers/serres/probe_serres_arrow.py", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#420", + "concept": "thinkers/serres H2 noise gives rise to a new system", + "hypothesis": "computational", + "verdict": "confirmed", + "result": "Serres (1982: 14): \"Theorem: noise gives rise to a new system, an order that is more complex than the simple chain.\" Chain F → T → R: no complex. Add N' = R, R' = T ∧ ¬N: complex {R, N} 2.000 at the last position; F and T out. The interruption is the chain's only return. thinkers/serres/probe_serres_theorem.py", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#421", + "concept": "thinkers/serres H3 the excluded third, included", + "hypothesis": "computational", + "verdict": "refuted", + "result": "Noise from a coin XORed onto the A→B channel does not lower the pair's Φ — it removes the pair, at every ε ∈ {0, .05, .1, .25, .4, .5} (post hoc). PyPhi's cause side infers a background unit's past from the present; a coin's past leaves no trace, so B' = A ⊕ N carries no cause information about A. The system's own noise (N' = A ∧ B) is outside the complex; core {A, B} 2.000 unchanged", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#422", + "concept": "thinkers/serres H4 the last position wins", + "hypothesis": "computational", + "verdict": "refuted", + "result": "Serres (1982: 4): \"the last to come tries to supplant his predecessor.\" Cascade with every level ejecting the one above: core {T, R, N} 2.000 — all but the producer. Shares F 2.000 (outside the complex, indispensable), T 2.000, R 2.000, N 0 (inside, dispensable). Membership and indispensability come apart; the excluded-indispensable one is the producer. thinkers/serres/probe_serres_cascade.py", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#423", + "concept": "thinkers/serres H5 the quasi-object weaves the \"we\"", + "hypothesis": "computational", + "verdict": "confirmed", + "result": "Serres (1982: 225): \"when being passed, makes the collective, if it stops, it makes the individual.\" Token ring A' = C, B' = A, C' = B: {A, B, C} 2.000. Token frozen (constants): no complex. thinkers/serres/probe_serres_quasiobject.py", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#424", + "concept": "thinkers/davis H1 Theorem 1 on the four triangles", + "hypothesis": "computational", + "verdict": "confirmed", + "result": "Davis (1967: 181): clusterable iff no cycle with exactly one negative line. Persons hold a camp from k ∈ {2,3,4} (two bits), least-strain update. k ≥ 3: ppp, pmm, mmm rest; ppm never; k = 2: mmm has no rest state. thinkers/davis/probe_davis_theorem.py", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#425", + "concept": "thinkers/davis H2 the classes follow clusterability", + "hypothesis": "computational", + "verdict": "confirmed", + "result": "At k = 4: ppm core {p, o, q} Φ 6.000 (the Heider number, on the high bits); ppp no complex; pmm core {p, o} 2.000; mmm core {p, q} 2.000. One pattern apart, three together — Davis's classes, not Cartwright–Harary's. ~18 min. thinkers/davis/probe_davis_classes.py", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#426", + "concept": "thinkers/davis H3 the all-negative verdict depends on the alphabet", + "hypothesis": "computational", + "verdict": "partial", + "result": "mmm core persons at k = 2, 3, 4: 3, 2, 2 — the Heider H3 refutation (−−− ≡ ++−) was the two-camp verdict and is withdrawn. ppm: 3, 2, 3 — the k = 3 encoding (dead code) dips; at full alphabets (one bit; k = 4) ppm is a whole of three at 6.000 both times. ~18 min. thinkers/davis/probe_davis_alphabet.py", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#427", + "concept": "thinkers/davis H4 Theorem 1 on K4, triangles decide, unique clustering", + "hypothesis": "computational", + "verdict": "confirmed", + "result": "64 sign patterns at k = 4: 15 clusterable (8 balanced); rest states exist iff clusterable 64/64; triangle test = cycle test 64/64; one partition per clusterable pattern 15/15. Synchronous swap cycles in 11/15. thinkers/davis/probe_davis_census.py", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#428", + "concept": "thinkers/davis H5 the incomplete graph", + "hypothesis": "computational", + "verdict": "confirmed", + "result": "Negative path p–o–q, no pq, k = 4: two partitions at rest ({p}{o}{q}, {p,q}{o}); Φ_MIP 0; core {o, q} 2.000 — one negative pair, not the mediator with both. thinkers/davis/probe_davis_path.py", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#429", + "concept": "thinkers/coleman H1 closure makes the norm effective", + "hypothesis": "computational", + "verdict": "confirmed", + "result": "Coleman (1988: S105–S106): open, B and C \"cannot combine forces to sanction A\"; closed, they \"combine to provide a collective sanction.\" A' = B ∧ C; B' = ¬A [∨ C]. Open: no fixed point (sanction cycles), core {A, B, C} 2.000. Closed: 111 fixed, core {B, C} 0.369, A outside. The norm holds and the whole loosens. thinkers/coleman/probe_coleman_norm.py", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#430", + "concept": "thinkers/coleman H2 closure is the collective's gain, not the broker's", + "hypothesis": "computational", + "verdict": "confirmed", + "result": "Burt's own forms re-read for the whole: info coreΦ 2→2, E's advantage 2→0; control coreΦ 2→6, advantage 2→0. The Burt H1 partial is Coleman's confirmation. thinkers/coleman/probe_coleman_broker.py", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#431", + "concept": "thinkers/coleman H3 intergenerational closure makes the four one", + "hypothesis": "computational", + "verdict": "refuted", + "result": "Parents' tie: core moves from {P2, K2} to {P1, P2} at 2.000; children's value added 0. A coalition forms above the parties it governs. Basin of 1111 is 1/16 in both forms. thinkers/coleman/probe_coleman_parents.py", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#432", + "concept": "thinkers/coleman H4 the rotating-credit association is one unit", + "hypothesis": "computational", + "verdict": "confirmed", + "result": "Coleman (1988: S102–S103). Ring of four: core all four 2.000, every V 2.000 (any absconder destroys it). Two bilateral credits: core one pair. thinkers/coleman/probe_coleman_credit.py", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#433", + "concept": "thinkers/coleman H5 the public good", + "hypothesis": "computational", + "verdict": "refuted", + "result": "Coleman (1988: S119): the creator \"captures only a small part.\" Closing the norm form: core Φ 2.000 → 0.369 (gain −1.631); ΔV(B) −1.631, fraction 1.000. No gain to capture; closure levels every party to 0.369. thinkers/coleman/probe_coleman_public.py", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#434", + "concept": "thinkers/ostrom H1 the monitored are in the structure", + "hypothesis": "computational", + "verdict": "confirmed", + "result": "Ostrom (1990: 90, 95): monitors \"are the appropriators.\" Each of three complies if the others do or if jointly sanctioned, and sanctions when either other defects. Core {c1, c2, c3} 2.862, whole 0.830, sanction bits outside adding 0.862 each. Coleman's closed norm beside it: core {B, C}, A out. thinkers/ostrom/probe_ostrom_monitors.py", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#435", + "concept": "thinkers/ostrom H2 self-governance against Leviathan and privatization", + "hypothesis": "computational", + "verdict": "partial", + "result": "Clique of contingent commitments 6.000 (all three in) vs enforcer's star 3.000 (all four in, all V 3.000, enforcer's advantage 0). Privatization: self-holding singletons count as complexes of one. thinkers/ostrom/probe_ostrom_solutions.py", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#436", + "concept": "thinkers/ostrom H3 nested enterprises are one whole", + "hypothesis": "computational", + "verdict": "refuted", + "result": "Two cliques under a federation: whole of seven irreducible at 2.000, exclusion returns one clique at 6.000; F outside the core with V 6.000, delegates 4.000, rank and file 0. Both cliques irreducible at 6.000 at the all-on state (post hoc). The Coleman parents pattern one level up. thinkers/ostrom/probe_ostrom_nested.py", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#437", + "concept": "thinkers/ostrom H4 quasi-voluntary compliance", + "hypothesis": "computational", + "verdict": "confirmed", + "result": "Ostrom (1990: 94): sanctions \"surprisingly low.\" mutual's only fixed point is 111000 (comply, no sanction); each single lapse returns in 4 steps. Coleman's closed norm rests at 111 (sanction standing). thinkers/ostrom/probe_ostrom_compliance.py", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#438", + "concept": "thinkers/ostrom H5 boundaries", + "hypothesis": "computational", + "verdict": "partial", + "result": "An unread outsider changes nothing (core and Φ as self, V(O) 0). A breach (a member reads the outsider) leaves core and Φ unchanged and makes the outsider indispensable, V(O) 6.000 — outside and necessary. thinkers/ostrom/probe_ostrom_boundary.py", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#439", + "concept": "thinkers/blau H1 contingent service makes power a relation", + "hypothesis": "computational", + "verdict": "confirmed", + "result": "Blau (1964: 22): power by \"making the satisfaction of their need contingent on their compliance.\" Constant supplier + dependent: no complex (the Serres arrow). Contingent supplier: {S, B} 2.000. thinkers/blau/probe_blau_contingent.py", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#440", + "concept": "thinkers/blau H2 an alternative supplier removes the superior's power", + "hypothesis": "computational", + "verdict": "confirmed", + "result": "Blau (1964: 118), second alternative. Single: V(S) 2.000, advantage 0. Two suppliers: V(S1) 0, advantage −2.000, V(B) 2.000 — Burt's control broker from the contacts' side. thinkers/blau/probe_blau_alternatives.py", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#441", + "concept": "thinkers/blau H3 organizing the dependent shifts power", + "hypothesis": "computational", + "verdict": "confirmed", + "result": "Subordinates who comply only together: core moves from {S, B1, B2} to {B1, B2} at 2.000; S's advantage 2.000 → 0; S outside the core with V 2.000 (outside, indispensable). thinkers/blau/probe_blau_organized.py", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#442", + "concept": "thinkers/blau H4 legitimate authority is carried by the subordinates", + "hypothesis": "computational", + "verdict": "confirmed", + "result": "Blau (1964: 23): consensus becomes \"group pressures that promote compliance.\" S off, both complying: power 011 → 100, authority 011 → 111. Authority core {B1, B2} 2.000, V(S) 0 (outside, dispensable). thinkers/blau/probe_blau_authority.py", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#443", + "concept": "thinkers/blau H5 opposition mirrors legitimation", + "hypothesis": "computational", + "verdict": "partial", + "result": "Shared opposition rests at S yielding; isolated never rests (Coleman's cycle). But the approving pair binds at 2.000 and the opposing pair at 0.369: same shape, not the same structure. thinkers/blau/probe_blau_opposition.py", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#444", + "concept": "thinkers/emerson H1 the C–A–B network is unbalanced with A indispensable", + "hypothesis": "computational", + "verdict": "confirmed", + "result": "Emerson (1962: 32, 37). A' = B ∨ C; B' = A; C' = A. Core all three 2.000; V(A) 2.000, V(B) = V(C) 0; A's advantage 2.000. thinkers/emerson/probe_emerson_network.py", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#445", + "concept": "thinkers/emerson H2 withdrawal balances (operation 1)", + "hypothesis": "computational", + "verdict": "confirmed", + "result": "B holds its own state: core {A, C} 2.000, B out, V(A) 2.000 → 1.000, V(C) 0 → 1.000, advantage 0. The only operation that takes from A. thinkers/emerson/probe_emerson_withdrawal.py", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#446", + "concept": "thinkers/emerson H3 extension balances and keeps three actors (operation 2)", + "hypothesis": "computational", + "verdict": "confirmed", + "result": "B–C tie: OR-clique 6.000, all in, every V 4.000, advantage 0 — Emerson's \"still just a power network\"; Burt's closed control broker. thinkers/emerson/probe_emerson_extension.py", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#447", + "concept": "thinkers/emerson H4 status-giving balances A–B only (operation 3)", + "hypothesis": "computational", + "verdict": "confirmed", + "result": "A' = B: core {A, B} 2.000, V(A) = V(B) 2.000, C outside with V 0. thinkers/emerson/probe_emerson_status.py", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#448", + "concept": "thinkers/emerson H5 extension reduces the strong, coalition raises the weak", + "hypothesis": "computational", + "verdict": "partial", + "result": "Both zero A's advantage; coalition (AND-clique) raises V(B), V(C) 0 → 6.000; extension raises V(A) 2.000 → 4.000 rather than lowering it. Network vs collective actor = a member adds 4.000 (a pair survives deletion) vs 6.000 (nothing does). thinkers/emerson/probe_emerson_coalition.py", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#449", + "concept": "thinkers/peirce JD1 the pre-registered joint-determination criterion reads the registered exemplars", + "hypothesis": "computational", + "verdict": "confirmed", + "result": "Criterion fixed in c7535bc: a one-element mechanism with an irreducible cause purview of two other elements, in the major complex of a Φ > 0 whole. Control M ← AB, giving R ← GT, pragmatic sign I ← OS in a whole; seven negatives none; misreads 0. thinkers/peirce/probe_peirce_joint_determination.py", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#450", + "concept": "thinkers/peirce JD2 Simmel's majority: a party jointly determined in a system that factors", + "hypothesis": "computational", + "verdict": "confirmed (tie-dependent, post hoc)", + "result": "majority_triad Φ_MIP = 0, C ← AB φ 0.5, but AB/AC/BC tie at 0.5; triad_mutual 6.0 and mediator 2.0 in a whole. thinkers/peirce/probe_peirce_joint_determination.py", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#451", + "concept": "thinkers/peirce JD3 confirmation on unread families", + "hypothesis": "computational", + "verdict": "confirmed", + "result": "n = 5 one-input wirings, 13 isomorphism classes: 0 joint determination. Seed-1 two-input sample, 30 forms: 5 in a whole, 11 with Φ_MIP = 0 (all tie-robust), 1 none. thinkers/peirce/probe_peirce_joint_determination.py --full (slow)", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#452", + "concept": "q218 chicken-and-egg feed: does an engagement feed remove the first cause of a post's spread?", + "hypothesis": "computational", + "verdict": "H1, H2, H4 confirmed; H3, H5 refuted", + "result": "11 stylized 3–4 node forms. Every form with a first cause Φ=0 (0/51 exceptions; known IIT feedforward property). Loops bind only 22/35. Engagement feed + reacting celebrity factors (Φ=0, core {P,F}; 4/10 feed encodings bind); word of mouth + reacting celebrity Φ=6.000; chronological feed + reacting celebrity Φ=1.000; ring 2.000. Exploratory: one fan or feed needing all fans binds", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#453", + "concept": "q217 rotating chair at three parties (H1–H5)", + "hypothesis": "computational", + "verdict": "H1 refuted, H2 refuted for the peak core, H3 partial, H4 tie (0 vs 0), H5 holds for the peak core", + "result": "fixed chair, A/B alternation, full A→B→C rotation: whole-system max Φ 0 throughout; peak core ABC Φ=2 in all; veto (clock-inclusive, across states) {A}, {A,B}, none. q217_rotating_chair/probe_453_rotating_chair.py", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#454", + "concept": "q217 rotating chair at four parties (H6)", + "hypothesis": "computational", + "verdict": "H6 holds", + "result": "fixed vs full rotation: peak core ABCD Φ=3 in both; veto {A} vs none. q217_rotating_chair/probe_454_rotating_chair_n4.py", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#455", + "concept": "q217 chair logic and earned rotation (H7–H8)", + "hypothesis": "computational", + "verdict": "H7 holds for OR, refuted for XOR; H8 refuted for AND", + "result": "OR rotation peak core ABC Φ=2, no veto; XOR rotation peak core T; earned AND peak core ABC, whole dyadic; earned XOR whole triadic max Φ 0.5 (7/12 states), peak core U. q217_rotating_chair/probe_455_rotating_chair_ext.py", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#456", + "concept": "q217 per-state party-only veto audit (post hoc, after review)", + "hypothesis": "computational", + "verdict": "exploratory", + "result": "where party coalitions integrate, full rotation's veto is the current and previous chair (6/6 three-party, 8/8 four-party states); cross-state party veto none; state coverage 25% for fixed and rotating AND forms; XOR forms: all three parties veto. q217_rotating_chair/probe_456_per_state_veto.py", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#457", + "concept": "Weighted and noisy quorums (extends #117; differs from open PR #808)", + "hypothesis": "Only AND/OR over the relevant set binds it; mixed weighted quorums bind at most one party; commit noise changes no membership", + "verdict": "partial: H1, H1b, H2, H2b, H4, H5 supported; H3, H6 refuted", + "result": "Every weighted threshold rule at 3 and 4 parties (weights 0..5, saturated at 0..6): 8 and 25 classes up to party relabelling. Extreme classes bind {S}+R at φ = \\", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#458", + "concept": "q219 H1 pass-through claims pipe (C'=A, E'=C, A'=E) is triadic through closure alone", + "hypothesis": "computational", + "verdict": "confirmed", + "result": "pipe triadic, max Φ_MIP = 2.000, MIP 3 parts {C,E,A}, core {C,E,A} 2.000, Φ = 2.000 in all 8/8 states. Identical to Q11 rot_ring(3) under C,E,A = x0,x1,x2; replicates its Φ = 2.0. questions/q219_insurance_claim_adjudication/probe_458_pipe.py", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#459", + "concept": "q219 H2 threshold auto-approval (C'=E∧¬A, E'=C, A'=E∧C) is triadic only through flagged claims", + "hypothesis": "computational", + "verdict": "refuted", + "result": "Whole triadic, max Φ_MIP = 0.415 at the single irreducible state 111 (1/5), MIP {C,EA}; but the major complex is {C,E} at 2.000 and the adjuster is outside it, so the full-core clause fails. The flagged-only clause held: both E=0 states (000, 100) read Φ = 0. questions/q219_insurance_claim_adjudication/probe_459_gated.py", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#460", + "concept": "q219 H3/H4 fraud-flag loop with override learning (C'=A, E'=C∧A, A'=E∧C), and without it (E'=C)", + "hypothesis": "computational", + "verdict": "H3 refuted; H4 refuted", + "result": "loop: whole triadic, max Φ_MIP = 1.000, MIP {C,EA}, core {E,A} 2.000 (the engine–adjuster pair named in H3's null), irreducible 110 (0.415), 111 (1.000). loop_nolearn: whole triadic, max Φ_MIP = 2.000, MIP {E,CA}, core {C,A} 2.000, engine out. Removing the learning edge moves the excluded party from claimant to engine. questions/q219_insurance_claim_adjudication/probe_460_loop.py", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#461", + "concept": "q219 H5 freezing the claimant (C'=C) collapses the fraud-flag loop", + "hypothesis": "computational", + "verdict": "confirmed", + "result": "loop_frozen_claimant dyadic, max Φ_MIP = 0.000 in 0/5 states; core {E,A} 2.000 persists as a sub-complex. questions/q219_insurance_claim_adjudication/probe_461_liveness.py", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "probe", + "id": "#462", + "concept": "Voting/quorum robustness to update schedule and temporal grain", + "hypothesis": "2-step grain and sequential update collapse all voting rules to dyadic; 3-step restores AND/OR/parity", + "verdict": "H1, H2, H3, H4 supported; H5 exploratory", + "result": "10 voting/quorum rules (Probes 67, 122) tested at k=1,2,3 grain and sequential update. Baseline reproduces Probes 67/122. 2-step grain and sequential update collapse ALL rules (including AND/OR) to dyadic Φ=0. No differential robustness: extreme rules collapse identically. 3-step grain restores triadic Φ=3.0 for AND/OR/parity, but not for majority/weighted", + "path": "org_frontier/probes/probe_voting_robustness.py", + "reproduce": [ + "python -m org_frontier.probes.probe_voting_robustness" + ], + "runtime": "fast" + }, + { + "kind": "probe", + "id": "#463", + "concept": "q220 observation-process robustness of the CRQA verdict", + "hypothesis": "workflow study", + "verdict": "stage 1: 1/5 confirmed (H5 one-sided reading; symmetric reading refutes it); stage 2: 6 confirmed, 4 inconclusive as run (5/5 if S2-H1 is read with the strict margin)", + "result": "stage 1: 30% gap-closed random loss drops bottleneck agreement 0.819→0.647, not distinguishable from the size-adjusted chance 0.667 (the 0.703 shuffled null is a tie-break artefact); TD at chance before corruption", + "path": "org_frontier/probes/PROBES.md", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "study", + "id": "active_label_acquisition", + "title": "Active label acquisition (agenda #25)", + "finding": "labels), no acquisition policy beats random by the pre-registered", + "path": "org_frontier/studies/active_label_acquisition", + "reproduce": [ + "python org_frontier/studies/active_label_acquisition/analyze_active.py" + ], + "runtime": "fast" + }, + { + "kind": "study", + "id": "agent_protocol_triad", + "title": "Agent protocol triad (#37)", + "finding": "the same way the commit does (COMMIT_READ / probe #88): conveyors and", + "path": "org_frontier/studies/agent_protocol_triad", + "reproduce": [ + "python org_frontier/studies/agent_protocol_triad/analyze_protocols.py" + ], + "runtime": "fast" + }, + { + "kind": "study", + "id": "agent_tool_core", + "title": "Agent tool core (#38)", + "finding": "same way an inference model does (#4, #9): unused / read-only stays", + "path": "org_frontier/studies/agent_tool_core", + "reproduce": [ + "python org_frontier/studies/agent_tool_core/analyze_tools.py" + ], + "runtime": "fast" + }, + { + "kind": "study", + "id": "ai_fidelity_displace", + "title": "AI fidelity displace (#40)", + "finding": "the counterpart’s policy displaces C at **full** fidelity only", + "path": "org_frontier/studies/ai_fidelity_displace", + "reproduce": [ + "python org_frontier/studies/ai_fidelity_displace/analyze_fidelity.py" + ], + "runtime": "fast" + }, + { + "kind": "study", + "id": "algo_transparency", + "title": "Algorithmic transparency (#34)", + "finding": "not channel transparency (#24). **Publish-unread** is theater: F stays", + "path": "org_frontier/studies/algo_transparency", + "reproduce": [ + "python org_frontier/studies/algo_transparency/analyze_transpar.py" + ], + "runtime": "fast" + }, + { + "kind": "study", + "id": "commit_noise_phase", + "title": "Commit-noise phase transition (agenda #6)", + "finding": "down as a monotone glide on both the conjunctive hub (Φ 2.0→0) and the", + "path": "org_frontier/studies/commit_noise_phase", + "reproduce": [ + "python org_frontier/studies/commit_noise_phase/analyze_phase.py" + ], + "runtime": "fast" + }, + { + "kind": "study", + "id": "commit_response_delay", + "title": "Commit→response delay (agenda #10)", + "finding": "pipeline) keeps the conjunctive triad **triadic** at every d=0…3 —", + "path": "org_frontier/studies/commit_response_delay", + "reproduce": [ + "python org_frontier/studies/commit_response_delay/analyze_delay.py" + ], + "runtime": "fast" + }, + { + "kind": "study", + "id": "composed_topo_landmarks_n6", + "title": "Composed-topology landmarks at n≥6 (agenda V4 #10)", + "finding": "families remain **discrete** at n≥6 under a denser random-AND draw: all", + "path": "org_frontier/studies/composed_topo_landmarks_n6", + "reproduce": [ + "python org_frontier/studies/composed_topo_landmarks_n6/analyze_composed_n6.py" + ], + "runtime": "fast" + }, + { + "kind": "study", + "id": "conjunctive_law_real_render", + "title": "Conjunctive law on real Boolean renders (agenda #45)", + "finding": "(#116) is **not** visible as a scaling law in institutional or fitted", + "path": "org_frontier/studies/conjunctive_law_real_render", + "reproduce": [ + "python org_frontier/studies/conjunctive_law_real_render/analyze_render.py" + ], + "runtime": "fast" + }, + { + "kind": "study", + "id": "constraint_durability", + "title": "Constraint durability — which contingent gates fall next", + "finding": "The formal class crossed with a durability rubric forecasts which contingent gates fall, and the forecast", + "path": "org_frontier/studies/constraint_durability", + "reproduce": [ + "python org_frontier/studies/constraint_durability/analyze_durability.py", + "python org_frontier/studies/constraint_durability/analyze_holdout.py", + "python org_frontier/studies/constraint_durability/analyze_intercoder.py" + ], + "runtime": "fast" + }, + { + "kind": "study", + "id": "construct_gates_n5", + "title": "Construct gate transfer at n=5 — CMC / AI-MC", + "finding": "full-bind regimes **transfer** from HMC anchors to CMC and AI-MC at", + "path": "org_frontier/studies/construct_gates_n5", + "reproduce": [ + "python org_frontier/studies/construct_gates_n5/analyze_gates.py" + ], + "runtime": "fast" + }, + { + "kind": "study", + "id": "construct_gates_seal", + "title": "Construct gate seal — XNOR + mixed-polarity on CMC", + "finding": "AND_negE (Regime C) transfer on CMC and AI-MC full-bind at n=5", + "path": "org_frontier/studies/construct_gates_seal", + "reproduce": [ + "python org_frontier/studies/construct_gates_seal/analyze_seal.py" + ], + "runtime": "fast" + }, + { + "kind": "study", + "id": "construct_ladders_n5", + "title": "CMC / AI-MC encoding ladders at n=5", + "finding": "paths at n=5. Classical baselines keep their construct signatures", + "path": "org_frontier/studies/construct_ladders_n5", + "reproduce": [ + "python org_frontier/studies/construct_ladders_n5/analyze_ladders.py" + ], + "runtime": "fast" + }, + { + "kind": "study", + "id": "construct_ladders_n6", + "title": "Construct ladders at n=6 — HMC / CMC / AI-MC", + "finding": "`pre_AND → full_AND` with whole triadic n_core=6, **Φ=5 (=n−1)** for AND", + "path": "org_frontier/studies/construct_ladders_n6", + "reproduce": [ + "python org_frontier/studies/construct_ladders_n6/analyze_ladders.py" + ], + "runtime": "fast" + }, + { + "kind": "study", + "id": "constructs_n_gt3", + "title": "HMC / CMC / AI-MC at n>3", + "finding": "plus idle parties) stays a **2-core**. CMC conveyors stay non-commit (whole", + "path": "org_frontier/studies/constructs_n_gt3", + "reproduce": [ + "python org_frontier/studies/constructs_n_gt3/analyze_constructs.py" + ], + "runtime": "fast" + }, + { + "kind": "study", + "id": "contingency_transitions", + "title": "Contingency transitions — the operations that move an intermediary between cells", + "finding": "The four cells of the taxonomy form a state machine, and six named operations are its edges. Each operation is", + "path": "org_frontier/studies/contingency_transitions", + "reproduce": [ + "python org_frontier/studies/contingency_transitions/analyze_transitions.py" + ], + "runtime": "fast" + }, + { + "kind": "study", + "id": "continuous_time_invariance", + "title": "Continuous-time grain/schedule invariance (agenda #12)", + "finding": "softens #112’s discrete wipeout but does **not** restore a", + "path": "org_frontier/studies/continuous_time_invariance", + "reproduce": [ + "python org_frontier/studies/continuous_time_invariance/analyze_ct.py" + ], + "runtime": "fast" + }, + { + "kind": "study", + "id": "coordination_lattice", + "title": "Coordination lattice (#50)", + "finding": "(dyadic Φ = 0); ⊤ = `pool` (Φ = n(n−1); tied with `and_ring` at n=3)", + "path": "org_frontier/studies/coordination_lattice", + "reproduce": [ + "python org_frontier/studies/coordination_lattice/analyze_lattice.py" + ], + "runtime": "fast" + }, + { + "kind": "study", + "id": "coordination_logic_atlas", + "title": "Coordination-logic atlas", + "finding": "Fifty coordination forms, classified by exact IIT-4.0 Φ. Thirty-six verdicts matched the", + "path": "org_frontier/studies/coordination_logic_atlas", + "reproduce": [ + "python -m org_frontier.studies.coordination_logic_atlas.run" + ], + "runtime": "slow" + }, + { + "kind": "study", + "id": "core_membership_law", + "title": "The core-membership law", + "finding": "A pre-registered confirmatory run of the two-condition account of major-complex membership. The", + "path": "org_frontier/studies/core_membership_law", + "reproduce": [ + "python -m org_frontier.studies.core_membership_law.core_membership" + ], + "runtime": "fast" + }, + { + "kind": "study", + "id": "correlated_output_noise", + "title": "Correlated output noise (agenda #5)", + "finding": "(a shared-coin SBS TPM that is not conditionally independent) does", + "path": "org_frontier/studies/correlated_output_noise", + "reproduce": [ + "python org_frontier/studies/correlated_output_noise/analyze_correlated.py" + ], + "runtime": "fast" + }, + { + "kind": "study", + "id": "correlated_party_duty", + "title": "Correlated party duty cycles (agenda V3 #16)", + "finding": "two parties (each δ≈0.5, never jointly observed) does **not** soften", + "path": "org_frontier/studies/correlated_party_duty", + "reproduce": [ + "python org_frontier/studies/correlated_party_duty/analyze_duty.py" + ], + "runtime": "fast" + }, + { + "kind": "study", + "id": "derangement_33_phi14", + "title": "Derangement 3+3 Φ=14 law at n=6", + "finding": "iff cycle type 3+3**. Dense sample: 6/40 of the 3+3 class all give full-core", + "path": "org_frontier/studies/derangement_33_phi14", + "reproduce": [ + "python org_frontier/studies/derangement_33_phi14/analyze_33.py" + ], + "runtime": "fast" + }, + { + "kind": "study", + "id": "discriminant_boundaries", + "title": "Discriminant boundaries — what algorithmacy is not", + "finding": "A pre-registered discriminant battery: faithful Boolean models of algorithmacy's neighbour constructs,", + "path": "org_frontier/studies/discriminant_boundaries", + "reproduce": [ + "python -m org_frontier.studies.discriminant_boundaries.discriminant" + ], + "runtime": "fast" + }, + { + "kind": "study", + "id": "discriminant_scale_blur", + "title": "Discriminant scale-blur (#42)", + "finding": "discriminant into within-class Φ mixing. Class purity holds at n=5 and n=6", + "path": "org_frontier/studies/discriminant_scale_blur", + "reproduce": [ + "python org_frontier/studies/discriminant_scale_blur/analyze_blur.py" + ], + "runtime": "fast" + }, + { + "kind": "study", + "id": "dual_function_entities", + "title": "Dual-function entities — earned integration and held gates in one company", + "finding": "Seven platforms decomposed into 16 functions, each classified by the bypass-counterfactual (q213). Every", + "path": "org_frontier/studies/dual_function_entities", + "reproduce": [ + "python org_frontier/studies/dual_function_entities/analyze_dual.py" + ], + "runtime": "fast" + }, + { + "kind": "study", + "id": "dual_mediator_template_census", + "title": "Dual-mediator template census (V3 #1)", + "finding": "cascade, parallel mediators, mediator-of-mediators) does **not** force a", + "path": "org_frontier/studies/dual_mediator_template_census", + "reproduce": [ + "python org_frontier/studies/dual_mediator_template_census/analyze_dual_mediator.py" + ], + "runtime": "fast" + }, + { + "kind": "study", + "id": "dual_principal_conflict", + "title": "Dual principal conflict (#29)", + "finding": "is set by the **conflict encoding** — not a single universal winner", + "path": "org_frontier/studies/dual_principal_conflict", + "reproduce": [ + "python org_frontier/studies/dual_principal_conflict/analyze_dual.py" + ], + "runtime": "fast" + }, + { + "kind": "study", + "id": "ejection_order", + "title": "Extractive ejection order (#36)", + "finding": "(role symmetry #55). There is **no transferable fine order** W≺C≺R", + "path": "org_frontier/studies/ejection_order", + "reproduce": [ + "python org_frontier/studies/ejection_order/analyze_eject.py" + ], + "runtime": "fast" + }, + { + "kind": "study", + "id": "encoding_ladder_gates", + "title": "Encoding ladder — gate family robustness", + "finding": "are **not** gate-robust. Three regimes at n=5:", + "path": "org_frontier/studies/encoding_ladder_gates", + "reproduce": [ + "python org_frontier/studies/encoding_ladder_gates/analyze_gates.py" + ], + "runtime": "fast" + }, + { + "kind": "study", + "id": "encoding_ladder_n5", + "title": "n=5 encoding ladder — HMC / literacy → algorithmacy", + "finding": "complex **2 → 3 → 4** while wholes stay dyadic. Core Φ can reach 3 on the", + "path": "org_frontier/studies/encoding_ladder_n5", + "reproduce": [ + "python org_frontier/studies/encoding_ladder_n5/analyze_ladder.py" + ], + "runtime": "fast" + }, + { + "kind": "study", + "id": "encoding_ladder_n6", + "title": "n=6 encoding ladder — does Φ track n−1?", + "finding": "as n=5: assist grows the core **2 → 3 → 4 → 5** with dyadic wholes; the", + "path": "org_frontier/studies/encoding_ladder_n6", + "reproduce": [ + "python org_frontier/studies/encoding_ladder_n6/analyze_ladder.py" + ], + "runtime": "fast" + }, + { + "kind": "study", + "id": "endogenous_coalition", + "title": "Endogenous coalition (#30)", + "finding": "maximize own major-complex membership, pure Nash are **all-out** and", + "path": "org_frontier/studies/endogenous_coalition", + "reproduce": [ + "python org_frontier/studies/endogenous_coalition/analyze_coalition.py" + ], + "runtime": "fast" + }, + { + "kind": "study", + "id": "ergodic_absorbing_ejection", + "title": "ergodic_absorbing_ejection (Strand D4)", + "finding": "absorbing inactive attractor (cycle `000`, basin **7**, exit rate **0**,", + "path": "org_frontier/studies/ergodic_absorbing_ejection", + "reproduce": [ + "python org_frontier/studies/ergodic_absorbing_ejection/analyze_absorb.py" + ], + "runtime": "fast" + }, + { + "kind": "study", + "id": "ergodic_backcoupling_twins", + "title": "ergodic_backcoupling_twins (Strand A4)", + "finding": "vs accumulating split on all three twin pairs (**H1 SUPPORTED**). At", + "path": "org_frontier/studies/ergodic_backcoupling_twins", + "reproduce": [ + "python org_frontier/studies/ergodic_backcoupling_twins/analyze_twins.py" + ], + "runtime": "fast" + }, + { + "kind": "study", + "id": "ergodic_components_vs_phi", + "title": "Ergodic components vs Φ (track first cell)", + "finding": "`CROSS_BASIN_SPLIT` | `BASIN_DETERMINATION_SPLIT`). Whole-form triadic", + "path": "org_frontier/studies/ergodic_components_vs_phi", + "reproduce": [ + "python org_frontier/studies/ergodic_components_vs_phi/analyze_components.py" + ], + "runtime": "fast" + }, + { + "kind": "study", + "id": "ergodic_cycle_ordering", + "title": "ergodic_cycle_ordering (Strand G / T8 residual)", + "finding": "Verdict: ORDERING_NULL. The residual basin-mode gap still ranks triadic forms on the frozen 42-form panel (AUC 0.7294)", + "path": "org_frontier/studies/ergodic_cycle_ordering", + "reproduce": [ + "python org_frontier/studies/ergodic_cycle_ordering/analyze_ordering.py", + "python org_frontier/studies/ergodic_cycle_ordering/analyze_ordering.py --ci" + ], + "runtime": "fast" + }, + { + "kind": "study", + "id": "ergodic_ensemble_richness", + "title": "Ergodic richness vs Φ on the strict-mediation census (B5)", + "finding": "census at n=3, Spearman ρ(Φ_MIP, basin entropy) = **0.1015** (positive", + "path": "org_frontier/studies/ergodic_ensemble_richness", + "reproduce": [ + "python org_frontier/studies/ergodic_ensemble_richness/analyze_ensemble.py" + ], + "runtime": "fast" + }, + { + "kind": "study", + "id": "ergodic_eoa_basin", + "title": "ergodic_eoa_basin (Strand G / T8 per-outcome fix)", + "finding": "classes that drove the prior `EOA_TRACKS_MI_NOT_PHI` result, but the", + "path": "org_frontier/studies/ergodic_eoa_basin", + "reproduce": [ + "python org_frontier/studies/ergodic_eoa_basin/analyze_basin.py", + "python org_frontier/studies/ergodic_eoa_basin/analyze_basin.py --ci" + ], + "runtime": "fast" + }, + { + "kind": "study", + "id": "ergodic_eoa_instrument", + "title": "ergodic_eoa_instrument (Strand G / T8 stress)", + "finding": "panel the EoA instrument agrees with whole-form Φ on **17/42** forms", + "path": "org_frontier/studies/ergodic_eoa_instrument", + "reproduce": [ + "python org_frontier/studies/ergodic_eoa_instrument/analyze_stress.py" + ], + "runtime": "fast" + }, + { + "kind": "study", + "id": "ergodic_eoa_vs_phi", + "title": "ergodic_eoa_vs_phi (Strand G2)", + "finding": "logs agrees with whole-form Φ on **7/9** forms (agree rate **0.778**;", + "path": "org_frontier/studies/ergodic_eoa_vs_phi", + "reproduce": [ + "python org_frontier/studies/ergodic_eoa_vs_phi/analyze_eoa.py" + ], + "runtime": "fast" + }, + { + "kind": "study", + "id": "ergodic_gap_decomposition", + "title": "ergodic_gap_decomposition (Strand G / T8 residual)", + "finding": "basin-mode EoA gap's continuous association with whole-form triadic status", + "path": "org_frontier/studies/ergodic_gap_decomposition", + "reproduce": [ + "python org_frontier/studies/ergodic_gap_decomposition/analyze_decomposition.py", + "python org_frontier/studies/ergodic_gap_decomposition/analyze_decomposition.py --ci" + ], + "runtime": "fast" + }, + { + "kind": "study", + "id": "ergodic_settling_time", + "title": "ergodic_settling_time (Strand G / T8 residual)", + "finding": "length does not separate whole-form triadic from dyadic (median **0.875**", + "path": "org_frontier/studies/ergodic_settling_time", + "reproduce": [ + "python org_frontier/studies/ergodic_settling_time/analyze_settling.py", + "python org_frontier/studies/ergodic_settling_time/analyze_settling.py --ci" + ], + "runtime": "fast" + }, + { + "kind": "study", + "id": "ergodic_sticky_returns", + "title": "ergodic_sticky_returns (Strand F4)", + "finding": "sticky−memoryless = **0.0661** (≥ 0.05) remains (**H2 SUPPORTED**)", + "path": "org_frontier/studies/ergodic_sticky_returns", + "reproduce": [ + "python org_frontier/studies/ergodic_sticky_returns/analyze_returns.py" + ], + "runtime": "fast" + }, + { + "kind": "study", + "id": "fielded_w_landmark", + "title": "Fielded W × Φ landmark (agenda V4 #6)", + "finding": "still predicts HUB / RING4 / POOL (acc=1.000), but a **fielded rater-", + "path": "org_frontier/studies/fielded_w_landmark", + "reproduce": [ + "python org_frontier/studies/fielded_w_landmark/analyze_fielded.py" + ], + "runtime": "fast" + }, + { + "kind": "study", + "id": "fixed_k_atoms_n5", + "title": "Fixed-k atoms 5/9 at n=5", + "finding": "omit-derangements at fixed_k=3 give full-core triadic Φ=9.0. Atom **Φ=5** is a", + "path": "org_frontier/studies/fixed_k_atoms_n5", + "reproduce": [ + "python org_frontier/studies/fixed_k_atoms_n5/analyze_atoms.py" + ], + "runtime": "fast" + }, + { + "kind": "study", + "id": "fn_tail_feature_redesign", + "title": "FN-tail feature redesign", + "finding": "F28-motivated cheap fragility and algebraic table features to the Probe-125/131", + "path": "org_frontier/studies/fn_tail_feature_redesign", + "reproduce": [ + "python org_frontier/studies/fn_tail_feature_redesign/analyze_fn_redesign.py" + ], + "runtime": "fast" + }, + { + "kind": "study", + "id": "formal_informal_cut", + "title": "Formal vs informal cut (agenda #46)", + "finding": "map onto dyadic/triadic. Formal spans both (commit gate vs", + "path": "org_frontier/studies/formal_informal_cut", + "reproduce": [ + "python org_frontier/studies/formal_informal_cut/analyze_cut.py" + ], + "runtime": "fast" + }, + { + "kind": "study", + "id": "genuine_bistability", + "title": "Genuine bistability (agenda #13)", + "finding": "triadic and dyadic attractors — beyond #109's sticky-mediator activity", + "path": "org_frontier/studies/genuine_bistability", + "reproduce": [ + "python org_frontier/studies/genuine_bistability/analyze_bistability.py" + ], + "runtime": "fast" + }, + { + "kind": "study", + "id": "gig_substitution", + "title": "Gig substitution (#35)", + "finding": "individual worker drops from the major complex at the **first positive", + "path": "org_frontier/studies/gig_substitution", + "reproduce": [ + "python org_frontier/studies/gig_substitution/analyze_gig.py" + ], + "runtime": "fast" + }, + { + "kind": "study", + "id": "graded_channel_exact_phi", + "title": "Graded party channel vs Φ (V4 #11)", + "finding": "channel? The mediating system reads each party through a lossy channel —", + "path": "org_frontier/studies/graded_channel_exact_phi", + "reproduce": [ + "python org_frontier/studies/graded_channel_exact_phi/analyze_graded.py" + ], + "runtime": "fast" + }, + { + "kind": "study", + "id": "graded_commit_verdict", + "title": "Graded commit verdict (agenda #2)", + "finding": "(`S'=min(W,C)`, ternary) keeps **discrete** structure labels", + "path": "org_frontier/studies/graded_commit_verdict", + "reproduce": [ + "python org_frontier/studies/graded_commit_verdict/analyze_graded.py" + ], + "runtime": "fast" + }, + { + "kind": "study", + "id": "graded_topo_carriers", + "title": "Graded × topology carriers (V3 #11)", + "finding": "(`x'=min(·)` / hub `S'=min(W,C)`) keeps **discrete** structure labels", + "path": "org_frontier/studies/graded_topo_carriers", + "reproduce": [ + "python org_frontier/studies/graded_topo_carriers/analyze_graded_topo.py" + ], + "runtime": "fast" + }, + { + "kind": "study", + "id": "hitl_rubber_stamp", + "title": "HITL rubber stamp (#39)", + "finding": "system commit, counterpart), the human joins the major complex **iff**", + "path": "org_frontier/studies/hitl_rubber_stamp", + "reproduce": [ + "python org_frontier/studies/hitl_rubber_stamp/analyze_hitl.py" + ], + "runtime": "fast" + }, + { + "kind": "study", + "id": "hmc_algo_boundary", + "title": "HMC ↔ algorithmacy encoding boundary", + "finding": "2-core. Adding a second human into S’s rule (∨ or ∧) expands to 3-core", + "path": "org_frontier/studies/hmc_algo_boundary", + "reproduce": [ + "python org_frontier/studies/hmc_algo_boundary/analyze_boundary.py" + ], + "runtime": "fast" + }, + { + "kind": "study", + "id": "holistic_residual_n4", + "title": "Holistic residual at n=4 (F26)", + "finding": "strict-mediation n=4 forms (seed 4), a Probe-125/131 cheap-feature random forest misclassifies", + "path": "org_frontier/studies/holistic_residual_n4", + "reproduce": [ + "python org_frontier/studies/holistic_residual_n4/analyze_residual_n4.py" + ], + "runtime": "fast" + }, + { + "kind": "study", + "id": "holistic_residual_n4_unconstrained", + "title": "Unconstrained n=4 holistic residual (F26 asterisk fix)", + "finding": "unconstrained k=2 n=4 forms (seed 40), Probe-131 RF miss rate = **7.5% (75/1000)**, above the", + "path": "org_frontier/studies/holistic_residual_n4_unconstrained", + "reproduce": [ + "python org_frontier/studies/holistic_residual_n4_unconstrained/analyze_unconstrained_n4.py" + ], + "runtime": "fast" + }, + { + "kind": "study", + "id": "holistic_residual_n5_unconstrained", + "title": "Unconstrained n=5 holistic residual", + "finding": "forms (seed 50), Probe-131 RF miss rate = **9.0% (45/500)**, inside the pre-registered hold band", + "path": "org_frontier/studies/holistic_residual_n5_unconstrained", + "reproduce": [ + "python org_frontier/studies/holistic_residual_n5_unconstrained/analyze_unconstrained_n5.py" + ], + "runtime": "fast" + }, + { + "kind": "study", + "id": "hub_floor_uniqueness", + "title": "Hub floor uniqueness (#48)", + "finding": "form achieving Φ = n−1 at the 2(n−1) edge floor. On hub topology the", + "path": "org_frontier/studies/hub_floor_uniqueness", + "reproduce": [ + "python org_frontier/studies/hub_floor_uniqueness/verify_uniqueness.py" + ], + "runtime": "fast" + }, + { + "kind": "study", + "id": "hybrid_ff_recurrent_seam", + "title": "Hybrid feedforward+recurrent seam (V3 #7)", + "finding": "AND chain keeps the major complex **inside the recurrent zone**; the FF", + "path": "org_frontier/studies/hybrid_ff_recurrent_seam", + "reproduce": [ + "python org_frontier/studies/hybrid_ff_recurrent_seam/analyze_hybrid_seam.py" + ], + "runtime": "fast" + }, + { + "kind": "study", + "id": "imputer_exact_phi", + "title": "Imputer under exact Φ (agenda V4 #4)", + "finding": "MI-only, and it is not a blanket transfer: party-echo completes Φ", + "path": "org_frontier/studies/imputer_exact_phi", + "reproduce": [ + "python org_frontier/studies/imputer_exact_phi/analyze_imputer_phi.py" + ], + "runtime": "fast" + }, + { + "kind": "study", + "id": "indeg_000123_grain", + "title": "Joint role-target grain on indeg (0,0,0,1,2,3)", + "finding": "z_targets vary. Joint subtypes are Φ-pure:", + "path": "org_frontier/studies/indeg_000123_grain", + "reproduce": [ + "python org_frontier/studies/indeg_000123_grain/analyze_grain.py" + ], + "runtime": "fast" + }, + { + "kind": "study", + "id": "indeg_001113_grain", + "title": "Role-target grain on indeg (0,0,1,1,1,3)", + "finding": "((2,),1) **mixes** Φ=6/12 until split by **z_targets**. t_targets is", + "path": "org_frontier/studies/indeg_001113_grain", + "reproduce": [ + "python org_frontier/studies/indeg_001113_grain/analyze_grain.py" + ], + "runtime": "fast" + }, + { + "kind": "study", + "id": "indeg_002122_grain", + "title": "Finer grain on MIX indeg (0,0,1,1,2,2)", + "finding": "Within indeg **(0,0,1,1,2,2)**: **t_targets=(1,1) ⇒ Φ=12** (n_core=4);", + "path": "org_frontier/studies/indeg_002122_grain", + "reproduce": [ + "python org_frontier/studies/indeg_002122_grain/analyze_grain.py" + ], + "runtime": "fast" + }, + { + "kind": "study", + "id": "indeg_002122_n6", + "title": "Indeg (0,0,1,1,2,2) at n=6", + "finding": "the closed (0,1,1,1,1,2) band — cycle-type classes are **not Φ-pure**", + "path": "org_frontier/studies/indeg_002122_n6", + "reproduce": [ + "python org_frontier/studies/indeg_002122_n6/analyze_indeg.py" + ], + "runtime": "fast" + }, + { + "kind": "study", + "id": "interior_atoms_n78", + "title": "Interior atoms at n=7–8 (V3 #9)", + "finding": "{6, 8, 9, 12}, while also recalling prior atoms 6 and 12. Discrete atoms", + "path": "org_frontier/studies/interior_atoms_n78", + "reproduce": [ + "python org_frontier/studies/interior_atoms_n78/analyze_atoms_n78.py" + ], + "runtime": "fast" + }, + { + "kind": "study", + "id": "interior_ring_pool", + "title": "Interior topology between ring and pool (agenda #19)", + "finding": "(Φ = 4) and the pool (Φ = n(n−1)) **exist**, but none in this designed census", + "path": "org_frontier/studies/interior_ring_pool", + "reproduce": [ + "python org_frontier/studies/interior_ring_pool/analyze_interior.py" + ], + "runtime": "fast" + }, + { + "kind": "study", + "id": "irreducibility_catalog", + "title": "Irreducibility catalog — necessary and contingent irreducible triads", + "finding": "54 entries classified by the bypass-counterfactual (q213): 41 real-world arrangements and 13", + "path": "org_frontier/studies/irreducibility_catalog", + "reproduce": [ + "python org_frontier/studies/irreducibility_catalog/build_catalog.py" + ], + "runtime": "fast" + }, + { + "kind": "study", + "id": "joint_obs_cliff_exact_phi", + "title": "Joint-obs cliff under exact Φ (agenda V4 #1)", + "finding": "replicates on family_n3 (0.967→0.585). Under an **exact-Φ** screen,", + "path": "org_frontier/studies/joint_obs_cliff_exact_phi", + "reproduce": [ + "python org_frontier/studies/joint_obs_cliff_exact_phi/analyze_transfer.py" + ], + "runtime": "fast" + }, + { + "kind": "study", + "id": "ladder_gate_panel", + "title": "Ladder-gate stratified panel — stress-test MONO_EXTREMAL_VS_AFFINE", + "finding": "stratified panel of **448** four-input gates at n=5 full bind:", + "path": "org_frontier/studies/ladder_gate_panel", + "reproduce": [ + "python org_frontier/studies/ladder_gate_panel/analyze_panel.py" + ], + "runtime": "fast" + }, + { + "kind": "study", + "id": "ladder_gate_properties", + "title": "Ladder-gate Boolean property classifier", + "finding": "(anchors + property probes), regime membership is predicted exactly by:", + "path": "org_frontier/studies/ladder_gate_properties", + "reproduce": [ + "python org_frontier/studies/ladder_gate_properties/analyze_properties.py" + ], + "runtime": "fast" + }, + { + "kind": "study", + "id": "local_triad_necklace", + "title": "Local-triad necklace (V3 #4)", + "finding": "triads on a cycle does **not** invent a new Φ law. The closed AND necklace", + "path": "org_frontier/studies/local_triad_necklace", + "reproduce": [ + "python org_frontier/studies/local_triad_necklace/analyze_necklace.py" + ], + "runtime": "fast" + }, + { + "kind": "study", + "id": "logged_alt_duty_exact_phi", + "title": "Anti-correlated duty on logged structure (agenda V4 #7)", + "finding": "party admission recreates the exact-Φ joint-observation cliff on the", + "path": "org_frontier/studies/logged_alt_duty_exact_phi", + "reproduce": [ + "python org_frontier/studies/logged_alt_duty_exact_phi/analyze_logged.py" + ], + "runtime": "fast" + }, + { + "kind": "study", + "id": "m3_subset_fidelity_v4", + "title": "M3 subset-Φ fidelity vs V4 items 1–3 (agenda V4 item 12)", + "finding": "Induced exact Φ already decides V4 items 1–3; overlay background-subset Φ moves the V4 item 1 subset-estimand key", + "path": "org_frontier/studies/m3_subset_fidelity_v4", + "reproduce": [ + "python org_frontier/studies/m3_subset_fidelity_v4/analyze_fidelity.py" + ], + "runtime": "fast" + }, + { + "kind": "study", + "id": "margin_cascade_phi", + "title": "Margin-cascade selective exact Φ", + "finding": "out-of-fold uncertain forms — cuts FN-among-triads sharply at fixed exact-Φ budget", + "path": "org_frontier/studies/margin_cascade_phi", + "reproduce": [ + "python org_frontier/studies/margin_cascade_phi/analyze_margin_cascade.py" + ], + "runtime": "fast" + }, + { + "kind": "study", + "id": "margin_cascade_tau", + "title": "Margin-cascade τ vs top-B% calibration", + "finding": "On n=4, nested cal-fold τ-matching at B=10% yields the same FN|tri as top-B%", + "path": "org_frontier/studies/margin_cascade_tau", + "reproduce": [ + "python org_frontier/studies/margin_cascade_tau/analyze_tau_vs_b.py" + ], + "runtime": "fast" + }, + { + "kind": "study", + "id": "marl_deep_replicate", + "title": "MARL deep replicate (#41 gap)", + "finding": "linear FA Q-policies with observation `[S, own_last, partner_last]` —", + "path": "org_frontier/studies/marl_deep_replicate", + "reproduce": [ + "python org_frontier/studies/marl_deep_replicate/analyze_deep.py" + ], + "runtime": "fast" + }, + { + "kind": "study", + "id": "marl_emergent_learn", + "title": "MARL emergent learn (#41)", + "finding": "predict task learnability (AUC emerg→success 0.555; emerg→easy 0.485)", + "path": "org_frontier/studies/marl_emergent_learn", + "reproduce": [ + "python org_frontier/studies/marl_emergent_learn/analyze_marl.py" + ], + "runtime": "fast" + }, + { + "kind": "study", + "id": "matched_imputer_exact_phi", + "title": "Topology-matched imputer under exact Φ (agenda V4 #5)", + "finding": "ring exact=1.000 on ring triadics) and beat mismatched priors on", + "path": "org_frontier/studies/matched_imputer_exact_phi", + "reproduce": [ + "python org_frontier/studies/matched_imputer_exact_phi/analyze_matched.py" + ], + "runtime": "fast" + }, + { + "kind": "study", + "id": "mediator_hierarchy_census", + "title": "Mediator hierarchy census (agenda #15)", + "finding": "occupied level** (apex, mid if present, leaf); Φ is **flat in depth** (2.0 at", + "path": "org_frontier/studies/mediator_hierarchy_census", + "reproduce": [ + "python org_frontier/studies/mediator_hierarchy_census/analyze_hierarchy.py" + ], + "runtime": "fast" + }, + { + "kind": "study", + "id": "mincut_mip", + "title": "Min-cut MIP (#49)", + "finding": "(Q49 H5). For the #47 families a *normalized GID cut-weight* theorem", + "path": "org_frontier/studies/mincut_mip", + "reproduce": [ + "python org_frontier/studies/mincut_mip/verify_mip.py" + ], + "runtime": "fast" + }, + { + "kind": "study", + "id": "mixed_algebra_seats", + "title": "Mixed-algebra seats (V3 #3)", + "finding": "a single mediator does **not** produce a hybrid signature. Whole-form Φ", + "path": "org_frontier/studies/mixed_algebra_seats", + "reproduce": [ + "python org_frontier/studies/mixed_algebra_seats/analyze_mixed_seats.py" + ], + "runtime": "fast" + }, + { + "kind": "study", + "id": "mixed_radix_mediator", + "title": "Mixed-radix mediator (agenda #3)", + "finding": "mediator (`S'=W+C`, alphabets `(2,3,2)`), the extra mid level goes into", + "path": "org_frontier/studies/mixed_radix_mediator", + "reproduce": [ + "python org_frontier/studies/mixed_radix_mediator/analyze_mixed.py" + ], + "runtime": "fast" + }, + { + "kind": "study", + "id": "multivalued_iit4_port", + "title": "pyphi_iit4_mv M1 overlay", + "finding": "`third_party/pyphi_iit4_mv`. Binary regression matches stock pin Φ=2", + "path": "org_frontier/studies/multivalued_iit4_port", + "reproduce": [ + "python org_frontier/studies/multivalued_iit4_port/analyze_port.py" + ], + "runtime": "fast" + }, + { + "kind": "study", + "id": "noise_composed_carriers", + "title": "Noise × composed carriers (V3 #12)", + "finding": "share **p\\*=0.5** on a composed **AND necklace** and a **shared-mediator", + "path": "org_frontier/studies/noise_composed_carriers", + "reproduce": [ + "python org_frontier/studies/noise_composed_carriers/analyze_noise_composed.py" + ], + "runtime": "fast" + }, + { + "kind": "study", + "id": "omit_cycle_band_n89", + "title": "Omit cycle band grammar at n=8–9 (agenda V4 #8)", + "finding": "that stabilized at n=7 cannot be re-adjudicated by exact IIT-4.0 core-Φ", + "path": "org_frontier/studies/omit_cycle_band_n89", + "reproduce": [ + "python org_frontier/studies/omit_cycle_band_n89/analyze_band_n89.py" + ], + "runtime": "fast" + }, + { + "kind": "study", + "id": "omit_cycle_morph_n7", + "title": "Omit cycle-type morph at n=7 (V3 #8)", + "finding": "does **not** morph again. The n=5→n=6 singleton→band shift (V2 #42", + "path": "org_frontier/studies/omit_cycle_morph_n7", + "reproduce": [ + "python org_frontier/studies/omit_cycle_morph_n7/analyze_morph_n7.py" + ], + "runtime": "fast" + }, + { + "kind": "study", + "id": "omit_lift_n6", + "title": "Omit/derangement lift at n=6", + "finding": "fixed_k=4, **derangements split** into Φ=12 (cycle types 6, 4+2, 2+2+2) and", + "path": "org_frontier/studies/omit_lift_n6", + "reproduce": [ + "python org_frontier/studies/omit_lift_n6/analyze_lift.py" + ], + "runtime": "fast" + }, + { + "kind": "study", + "id": "omit_motif_phi5", + "title": "Omit-motif census: Φ=5 vs Φ=6 at n=5", + "finding": "recip=0. Same-indeg siblings with other cycle structures all give **Φ=6**. Motif", + "path": "org_frontier/studies/omit_motif_phi5", + "reproduce": [ + "python org_frontier/studies/omit_motif_phi5/analyze_motifs.py" + ], + "runtime": "fast" + }, + { + "kind": "study", + "id": "oscillatory_scaling", + "title": "Oscillatory Φ scaling (agenda #11)", + "finding": "traveling wave, period=n) carries a **constant Φ=2.0** law over", + "path": "org_frontier/studies/oscillatory_scaling", + "reproduce": [ + "python org_frontier/studies/oscillatory_scaling/analyze_osc.py" + ], + "runtime": "fast" + }, + { + "kind": "study", + "id": "parity_law_n_gt6", + "title": "Parity law under n>6 hub embeddings (V3 #10)", + "finding": "the MIP at all-1s and matches exact Φ — **no topology residual** when", + "path": "org_frontier/studies/parity_law_n_gt6", + "reproduce": [ + "python org_frontier/studies/parity_law_n_gt6/analyze_parity_n_gt6.py" + ], + "runtime": "fast" + }, + { + "kind": "study", + "id": "parity_law_n_gt8", + "title": "Parity-hub law for n>8 (agenda V4 #9)", + "finding": "n>8 under the named H-cut formula and a feasible exact SIA check: H-cut", + "path": "org_frontier/studies/parity_law_n_gt8", + "reproduce": [ + "python org_frontier/studies/parity_law_n_gt8/analyze_parity_n_gt8.py" + ], + "runtime": "fast" + }, + { + "kind": "study", + "id": "parity_radix_blindspot", + "title": "Parity radix blind spot (agenda #4)", + "finding": "flat full-system Φ band (≈0.5) at k=2,3,4, while min-commit is high", + "path": "org_frontier/studies/parity_radix_blindspot", + "reproduce": [ + "python org_frontier/studies/parity_radix_blindspot/analyze_parity.py" + ], + "runtime": "fast" + }, + { + "kind": "study", + "id": "parity_vs_conjunctive_noise", + "title": "Parity vs conjunctive under noise (agenda #8)", + "finding": "conjunctive hubs lose the triadic verdict at the **same** p*=0.5 under", + "path": "org_frontier/studies/parity_vs_conjunctive_noise", + "reproduce": [ + "python org_frontier/studies/parity_vs_conjunctive_noise/analyze_families.py" + ], + "runtime": "fast" + }, + { + "kind": "study", + "id": "partial_observation_screen", + "title": "Partial observation / estimability (agenda #24)", + "finding": "strict-mediation n=3 family, mean pairwise MI under full observation", + "path": "org_frontier/studies/partial_observation_screen", + "reproduce": [ + "python org_frontier/studies/partial_observation_screen/analyze_partial_obs.py" + ], + "runtime": "fast" + }, + { + "kind": "study", + "id": "party_vs_mediator_noise", + "title": "Party vs mediator noise (agenda #7)", + "finding": "mediator-column flip-noise collapse the triad at the **same** p*=0.5", + "path": "org_frontier/studies/party_vs_mediator_noise", + "reproduce": [ + "python org_frontier/studies/party_vs_mediator_noise/analyze_locus.py" + ], + "runtime": "fast" + }, + { + "kind": "study", + "id": "phase_lock_exact_phi", + "title": "Phase-lock under exact Φ (agenda V4 #2)", + "finding": "multifamily panel (AUC **1.000**) where **alternation** cliffs", + "path": "org_frontier/studies/phase_lock_exact_phi", + "reproduce": [ + "python org_frontier/studies/phase_lock_exact_phi/analyze_phase.py" + ], + "runtime": "fast" + }, + { + "kind": "study", + "id": "phi_ascent_mediator", + "title": "Φ-ascent adaptive mediator (agenda #14)", + "finding": "Φ does **not** converge to the conjunctive hub. Under fixed party", + "path": "org_frontier/studies/phi_ascent_mediator", + "reproduce": [ + "python org_frontier/studies/phi_ascent_mediator/analyze_ascent.py" + ], + "runtime": "fast" + }, + { + "kind": "study", + "id": "random_coupling_ensemble", + "title": "Random coupling ensemble at fixed n (agenda #18)", + "finding": "n=4 (ER / fixed-k / WS / BA-style), **every** core Φ lands on the discrete", + "path": "org_frontier/studies/random_coupling_ensemble", + "reproduce": [ + "python org_frontier/studies/random_coupling_ensemble/analyze_ensemble.py", + "python org_frontier/studies/random_coupling_ensemble/analyze_ensemble_n5.py" + ], + "runtime": "fast" + }, + { + "kind": "study", + "id": "regulator_capture", + "title": "Regulator capture (#33)", + "finding": "coupling cut**, not a smooth membership glide. Under mutual gate", + "path": "org_frontier/studies/regulator_capture", + "reproduce": [ + "python org_frontier/studies/regulator_capture/analyze_capture.py" + ], + "runtime": "fast" + }, + { + "kind": "study", + "id": "residual_phase_boundary", + "title": "Residual phase boundary (F28)", + "finding": "that instability is shared with other classifier-uncertain forms (H3 refuted).** One-bit flips in", + "path": "org_frontier/studies/residual_phase_boundary", + "reproduce": [ + "python org_frontier/studies/residual_phase_boundary/analyze_phase_boundary.py" + ], + "runtime": "fast" + }, + { + "kind": "study", + "id": "residual_phase_boundary_unc", + "title": "Residual phase boundary on unc k=2 misses (F28)", + "finding": "One-bit truth-table flips flip the exact Φ verdict for **37.1%** of neighbours of the 75 n=4", + "path": "org_frontier/studies/residual_phase_boundary_unc", + "reproduce": [ + "python org_frontier/studies/residual_phase_boundary_unc/analyze_phase_unc.py" + ], + "runtime": "fast" + }, + { + "kind": "study", + "id": "ring_of_hubs", + "title": "Ring-of-hubs with private leaves (V3 #5)", + "finding": "panel every ring-of-hubs cell either **factors** (incomplete core — often", + "path": "org_frontier/studies/ring_of_hubs", + "reproduce": [ + "python org_frontier/studies/ring_of_hubs/analyze_ring_of_hubs.py" + ], + "runtime": "fast" + }, + { + "kind": "study", + "id": "rival_platforms", + "title": "Rival platforms (#32)", + "finding": "a single winner rule. Substitutable `W'=S1∨S2` / XOR → **equal-Φ", + "path": "org_frontier/studies/rival_platforms", + "reproduce": [ + "python org_frontier/studies/rival_platforms/analyze_rival.py" + ], + "runtime": "fast" + }, + { + "kind": "study", + "id": "same_indeg_band_n6", + "title": "Same-indeg Φ=8 vs 9 band at n=6", + "finding": "n=6 fixed_k=4, **Φ=9 iff cycles ∈ {(5,), (2,3)}**; otherwise **Φ=8**. All six", + "path": "org_frontier/studies/same_indeg_band_n6", + "reproduce": [ + "python org_frontier/studies/same_indeg_band_n6/analyze_band.py" + ], + "runtime": "fast" + }, + { + "kind": "study", + "id": "sample_complexity_screen", + "title": "Sample complexity of the cheap screen (agenda #23)", + "finding": "family, mean pairwise MI already hits AUC **0.97 at T=125** (noise 0.08", + "path": "org_frontier/studies/sample_complexity_screen", + "reproduce": [ + "python org_frontier/studies/sample_complexity_screen/analyze_complexity.py" + ], + "runtime": "fast" + }, + { + "kind": "study", + "id": "scaling_laws_closed_form", + "title": "Scaling laws closed-form (#47)", + "finding": "See [`../mincut_mip/`](../mincut_mip/) and `FORMAL_THEORY_ARC.md`", + "path": "org_frontier/studies/scaling_laws_closed_form", + "reproduce": [ + "python org_frontier/studies/scaling_laws_closed_form/verify_laws.py" + ], + "runtime": "fast" + }, + { + "kind": "study", + "id": "shared_mediator_k", + "title": "Shared-mediator k-lift (V3 #6)", + "finding": "merge under AND with **Φ = 2k** (k=1,2,3 → Φ=2,4,6; full cores). OR", + "path": "org_frontier/studies/shared_mediator_k", + "reproduce": [ + "python org_frontier/studies/shared_mediator_k/analyze_shared_k.py" + ], + "runtime": "fast" + }, + { + "kind": "study", + "id": "shared_mediator_ternary", + "title": "Shared-mediator ternary (beyond-binary)", + "finding": "{0,1}^5 cube. Exact **IIT-4.0** on this lab's PyPhi pin **cannot** ingest a", + "path": "org_frontier/studies/shared_mediator_ternary", + "reproduce": [ + "python org_frontier/studies/shared_mediator_ternary/analyze_ternary.py" + ], + "runtime": "fast" + }, + { + "kind": "study", + "id": "small_world_vs_hierarchy", + "title": "Small-world rewire vs hierarchy (agenda #17)", + "finding": "ring's size-independent Φ = 4 cap with hub growth (Φ = n−1). Interior morphs", + "path": "org_frontier/studies/small_world_vs_hierarchy", + "reproduce": [ + "python org_frontier/studies/small_world_vs_hierarchy/analyze_small_world.py" + ], + "runtime": "fast" + }, + { + "kind": "study", + "id": "spanning_mediator_multihub", + "title": "Spanning mediator atop multi-hub (agenda #20)", + "finding": "raise Φ beyond the pool ceiling. Under recurrent hub-span it **recreates the", + "path": "org_frontier/studies/spanning_mediator_multihub", + "reproduce": [ + "python org_frontier/studies/spanning_mediator_multihub/analyze_spanning_multihub.py" + ], + "runtime": "fast" + }, + { + "kind": "study", + "id": "spectral_invariant", + "title": "Spectral topology-invariant feature (agenda #21)", + "finding": "(`P_spectral_gap`) is the best cross-family ranker on this panel", + "path": "org_frontier/studies/spectral_invariant", + "reproduce": [ + "python org_frontier/studies/spectral_invariant/analyze_spectral.py" + ], + "runtime": "fast" + }, + { + "kind": "study", + "id": "structure_aware_surrogate", + "title": "Structure-aware surrogate across topology (agenda #22)", + "finding": "panel with exact IIT-4.0 labels, leave-one-family-out detection AUC is", + "path": "org_frontier/studies/structure_aware_surrogate", + "reproduce": [ + "python org_frontier/studies/structure_aware_surrogate/analyze_surrogate.py" + ], + "runtime": "fast" + }, + { + "kind": "study", + "id": "template_coverage_census", + "title": "Template coverage census — fifth template from the triad residual", + "finding": "outside the four catalog templates (relay / conjunctive / additive / free). They are exactly the", + "path": "org_frontier/studies/template_coverage_census", + "reproduce": [ + "python org_frontier/studies/template_coverage_census/census.py" + ], + "runtime": "fast" + }, + { + "kind": "study", + "id": "ternary_pivotality", + "title": "Ternary pivotality (#1)", + "finding": "control holds. Stock pin still rejects ternary SBS. Vendored overlay", + "path": "org_frontier/studies/ternary_pivotality", + "reproduce": [ + "python org_frontier/studies/ternary_pivotality/analyze_pivot.py" + ], + "runtime": "fast" + }, + { + "kind": "study", + "id": "thompson_verdict_bridge", + "title": "Thompson verdict bridge (agenda #43)", + "finding": "dyadic/triadic verdict loosely, not as a clean map. Canonical", + "path": "org_frontier/studies/thompson_verdict_bridge", + "reproduce": [ + "python org_frontier/studies/thompson_verdict_bridge/analyze_thompson.py" + ], + "runtime": "fast" + }, + { + "kind": "study", + "id": "threshold_majority_template", + "title": "Threshold / majority template (V3 #2)", + "finding": "n≥4 is **not** a new template. Intermediate k always **factors** once", + "path": "org_frontier/studies/threshold_majority_template", + "reproduce": [ + "python org_frontier/studies/threshold_majority_template/analyze_threshold_majority.py" + ], + "runtime": "fast" + }, + { + "kind": "study", + "id": "timescale_separation", + "title": "Timescale separation (agenda #9)", + "finding": "fast parties) factors the triad at **k\\*=2** on both the conjunctive", + "path": "org_frontier/studies/timescale_separation", + "reproduce": [ + "python org_frontier/studies/timescale_separation/analyze_timescale.py" + ], + "runtime": "fast" + }, + { + "kind": "study", + "id": "topology_aware_imputer", + "title": "Topology-aware imputer (agenda V3 #15)", + "finding": "a **ring prior** restores the mean-MI screen (AUC 0.550→0.944). A", + "path": "org_frontier/studies/topology_aware_imputer", + "reproduce": [ + "python org_frontier/studies/topology_aware_imputer/analyze_imputer.py" + ], + "runtime": "fast" + }, + { + "kind": "study", + "id": "two_triad_shared_member", + "title": "Two-triad shared-member merger (agenda #16)", + "finding": "mediator** merges two conjunctive triads into one major complex spanning both", + "path": "org_frontier/studies/two_triad_shared_member", + "reproduce": [ + "python org_frontier/studies/two_triad_shared_member/analyze_shared_member.py" + ], + "runtime": "fast" + }, + { + "kind": "study", + "id": "wageman_phi_landmark", + "title": "Wageman W × Φ landmark (V3 #14)", + "finding": "with form size n predicts the Φ landmarks ring-4 / hub-(n−1) / pool", + "path": "org_frontier/studies/wageman_phi_landmark", + "reproduce": [ + "python org_frontier/studies/wageman_phi_landmark/analyze_wageman_landmark.py" + ], + "runtime": "fast" + }, + { + "kind": "study", + "id": "wageman_ti_verdict", + "title": "Wageman TI → verdict (agenda #44)", + "finding": "interdependence index separates dyadic from triadic on the designed", + "path": "org_frontier/studies/wageman_ti_verdict", + "reproduce": [ + "python org_frontier/studies/wageman_ti_verdict/analyze_wageman.py" + ], + "runtime": "fast" + }, + { + "kind": "study", + "id": "weakest_boolean_render", + "title": "Weakest Boolean render (V3 #13)", + "finding": "committed public OSS coordination logs that still recovers the conjunctive", + "path": "org_frontier/studies/weakest_boolean_render", + "reproduce": [ + "python org_frontier/studies/weakest_boolean_render/analyze_weakest_render.py" + ], + "runtime": "fast" + }, + { + "kind": "study", + "id": "who_broke_prod", + "title": "WHO BROKE PROD? — incident attribution under coordination topologies", + "finding": "is the largest single lever on attribution accuracy, and chain relaying is the largest topology cost. A", + "path": "org_frontier/studies/who_broke_prod", + "reproduce": [ + "python org_frontier/studies/who_broke_prod/analyze_who_broke_prod.py" + ], + "runtime": "fast" + }, + { + "kind": "study", + "id": "who_broke_prod_phi", + "title": "WHO BROKE PROD? × Φ — coordination-step structure versus investigative accuracy", + "finding": "integrated coordination core ({A1, M, A2}, Φ = 2.0). Its matched simulator condition beats the best", + "path": "org_frontier/studies/who_broke_prod_phi", + "reproduce": [ + "python org_frontier/studies/who_broke_prod_phi/analyze_who_broke_prod_phi.py" + ], + "runtime": "fast" + }, + { + "kind": "study", + "id": "worker_union_scale", + "title": "Worker union scale (#31)", + "finding": "coalition cell-for-cell (Φ, n_core, core==peer group) under weak peer,", + "path": "org_frontier/studies/worker_union_scale", + "reproduce": [ + "python org_frontier/studies/worker_union_scale/analyze_scale.py" + ], + "runtime": "fast" + }, + { + "kind": "study", + "id": "zero_duty_retain_exact_phi", + "title": "Zero-duty vs retain under exact Φ (agenda V4 #3)", + "finding": "party cliffs** (multifamily 1.000→0.592; family_n3 1.000→0.750), and the", + "path": "org_frontier/studies/zero_duty_retain_exact_phi", + "reproduce": [ + "python org_frontier/studies/zero_duty_retain_exact_phi/analyze_retain.py" + ], + "runtime": "fast" + }, + { + "kind": "foundations", + "id": "candidate_audit", + "title": "Candidate-measure audit: do the published \"candidate Φ\" measures track exact IIT‑4.0 Φ?", + "finding": "better than the empirical proxies** — but still only moderately. The", + "path": "foundations/candidate_audit", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "foundations", + "id": "cbh_complexity", + "title": "cbh_complexity — a computational instantiation of the Complex Brain Hypothesis", + "finding": "calls for. On the authors' own example systems, entropy is monotone in disorder while complexity is", + "path": "foundations/cbh_complexity", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "foundations", + "id": "consciousness_range", + "title": "A range of minds: does \"level of consciousness\" capture the mind?", + "finding": "to be it. We built a bestiary of ten small systems spanning low→high Φ and", + "path": "foundations/consciousness_range", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "foundations", + "id": "emergence_vs_phi", + "title": "Causal emergence vs IIT Φ", + "finding": "information pick out different systems.** Causal emergence is essentially", + "path": "foundations/emergence_vs_phi", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "foundations", + "id": "learned_surrogate", + "title": "Learned surrogate: can cheap features *together* predict exact IIT‑4.0 Φ?", + "finding": "tracks exact IIT‑4.0 Φ well. This experiment shows the constructive flip side:", + "path": "foundations/learned_surrogate", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "foundations", + "id": "phiid_vs_phi", + "title": "ΦID-based integrated information (Φ_R, CCS) vs exact IIT-4.0 Φ", + "finding": "computed *exactly* from a network's TPM (the [candidate audit](../candidate_audit/)", + "path": "foundations/phiid_vs_phi", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "foundations", + "id": "proxy_audit", + "title": "Proxy audit: do cheap measures track exact IIT‑4.0 Φ?", + "finding": "empirical proxies (Lempel‑Ziv complexity, pairwise correlation) are essentially", + "path": "foundations/proxy_audit", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "foundations", + "id": "psi_vs_phi", + "title": "psi_vs_phi — does the MaxCal information ψ track exact IIT‑4.0 Φ?", + "finding": "Kearney (2026) — the system-level scalar ψ(π) = log₂κ − H(π) − h(π) — is **essentially uncorrelated", + "path": "foundations/psi_vs_phi", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "foundations", + "id": "structure_suite", + "title": "Φ‑structure suite: is scalar Φ an impoverished summary?", + "finding": "uncorrelated with every dimension of the cause‑effect structure it is supposed", + "path": "foundations/structure_suite", + "reproduce": [], + "runtime": "unregistered" + }, + { + "kind": "open", + "id": "O01", + "question": "Does the extremes-only quorum law survive weighted or noisy quorums?", + "status": "open", + "needs": "compute", + "where": "org_frontier/probes/weighted_quorum/, study D in org_frontier/STRUCTURAL_FINDINGS.md", + "first_command": "python -m org_frontier.protocol.new_question --slug weighted_quorum_law", + "path": "OPEN_QUESTIONS.md" + }, + { + "kind": "open", + "id": "O02", + "question": "Does exact Shapley pivotality sharpen the membership law past the null-player corner at larger forms, with a coalition-formation account?", + "status": "open", + "needs": "compute", + "where": "org_frontier/threads/shapley_membership/THREAD.md", + "first_command": "python -m org_frontier.threads.shapley_membership.shapley_membership", + "path": "OPEN_QUESTIONS.md" + }, + { + "kind": "open", + "id": "O03", + "question": "Is there a coordination arrangement that is algorithmacy but not directive algorithmic management, or does none exist?", + "status": "open", + "needs": "compute", + "where": "the committee review, org_frontier/essays/committed_determination_committee_review.md", + "first_command": "python tools/build_catalog.py --find \"algorithmic management directive\"", + "path": "OPEN_QUESTIONS.md" + }, + { + "kind": "open", + "id": "O04", + "question": "Does the two-condition membership account hold when a party has more than two states?", + "status": "open", + "needs": "compute", + "where": "org_frontier/designs/WAVE10_PARKED_DESIGNS.md #5; the multivalued overlay in third_party/pyphi_iit4_mv/ now supplies the tooling", + "first_command": "python third_party/pyphi_iit4_mv/smoke_m2.py", + "path": "OPEN_QUESTIONS.md" + }, + { + "kind": "open", + "id": "O05", + "question": "Does the dyadic/triadic verdict depend on the IIT version (3.0 big-Φ vs the 4.0 SIA)?", + "status": "open", + "needs": "tooling", + "where": "org_frontier/designs/WAVE10_PARKED_DESIGNS.md #8", + "first_command": "read the design; an IIT-3.0 configuration is the missing piece", + "path": "OPEN_QUESTIONS.md" + }, + { + "kind": "open", + "id": "O06", + "question": "Can a cheap proxy recover the verdict past the exact-Φ size ceiling (~10–12 nodes)?", + "status": "open", + "needs": "compute", + "where": "foundations/learned_surrogate/, org_frontier/proxy_bridge/, org_frontier/cascade/", + "first_command": "python -m org_frontier.cascade.run --panel org_frontier/cascade/residual_panel_n4_unconstrained.csv --smoke", + "path": "OPEN_QUESTIONS.md" + }, + { + "kind": "open", + "id": "O07", + "question": "One real coordination arrangement, modeled from interview and observation evidence to an exact-Φ verdict, with inter-rater reliability on the encoding.", + "status": "open", + "needs": "data", + "where": "org_frontier/field/PROTOCOL.md; packet org_frontier/field/packets/gig_dispatch/", + "first_command": "PYPHI_WELCOME_OFF=true PYTHONPATH=. python org_frontier/field/packets/gig_dispatch/analysis.py", + "path": "OPEN_QUESTIONS.md" + }, + { + "kind": "open", + "id": "O08", + "question": "One qualitative study run as fieldwork: a real setting read against a named prior, reporting where it departs from the catalog.", + "status": "open", + "needs": "data", + "where": "org_frontier/qualitative/TOPICS.md; template org_frontier/qualitative/template/", + "first_command": "PYPHI_WELCOME_OFF=true PYTHONPATH=. python org_frontier/qualitative/template/analyze.py", + "path": "OPEN_QUESTIONS.md" + }, + { + "kind": "open", + "id": "O09", + "question": "A recorded coordination series the recurrence instrument has not read, where the determination actor is logged (bot-merged project, dispatch log, physiological series).", + "status": "open", + "needs": "data", + "where": "org_frontier/recurrence/; verified open datasets in org_frontier/research/DATA_SOURCES.md", + "first_command": "PYPHI_WELCOME_OFF=true PYTHONPATH=. python org_frontier/recurrence/packets/template/run_study.py", + "path": "OPEN_QUESTIONS.md" + }, + { + "kind": "open", + "id": "O10", + "question": "Field the pre-registered three-wave algorithmacy panel with a real cohort.", + "status": "open", + "needs": "data", + "where": "org_frontier/survey/cohort_algorithmacy/", + "first_command": "PYTHONPATH=. python org_frontier/survey/cohort_algorithmacy/analysis.py", + "path": "OPEN_QUESTIONS.md" + }, + { + "kind": "open", + "id": "O11", + "question": "Can trained coders look at a real arrangement and agree on dyadic vs triadic reliably enough to use the construct as an instrument?", + "status": "open", + "needs": "data", + "where": "org_frontier/designs/WAVE10_PARKED_DESIGNS.md #42", + "first_command": "read the design, then the field protocol's step 4", + "path": "OPEN_QUESTIONS.md" + }, + { + "kind": "open", + "id": "O12", + "question": "Do human triads on a joint-commit interface show the difficulty gap the verdict predicts, where selfish bandit agents did not (Probe 98)?", + "status": "open", + "needs": "data", + "where": "org_frontier/designs/WAVE10_PARKED_DESIGNS.md #41", + "first_command": "read the design sketch and its pre-registration outline", + "path": "OPEN_QUESTIONS.md" + }, + { + "kind": "open", + "id": "O13", + "question": "Can the verdict be read from a real interaction log, estimating the TPM over a few discrete units?", + "status": "open", + "needs": "data", + "where": "org_frontier/designs/WAVE10_PARKED_DESIGNS.md #24; runnable-now datasets in org_frontier/research/DATA_SOURCES.md", + "first_command": "python tools/build_catalog.py --find \"interaction log TPM estimate\"", + "path": "OPEN_QUESTIONS.md" + }, + { + "kind": "open", + "id": "O14", + "question": "Why does the ergodic-components gap stay unexplained by phase, path, observable, or panel mechanisms (GAP_UNEXPLAINED)?", + "status": "open", + "needs": "compute", + "where": "org_frontier/ergodicity/AGENDA.md, org_frontier/studies/ergodic_gap_decomposition/", + "first_command": "python tools/build_catalog.py --find \"ergodic gap\"", + "path": "OPEN_QUESTIONS.md" + }, + { + "kind": "open", + "id": "O15", + "question": "Review a submission: reproduce its numbers, audit its pre-commitment, judge its argument. The board needs reviewers.", + "status": "open", + "needs": "review", + "where": "MAINTAINERS.md, PUBLISHING.md", + "first_command": "python ci/reproduce.py on an open pull request", + "path": "OPEN_QUESTIONS.md" + } + ] +} diff --git a/ci/precommit_audit.py b/ci/precommit_audit.py new file mode 100644 index 00000000..61523162 --- /dev/null +++ b/ci/precommit_audit.py @@ -0,0 +1,120 @@ +#!/usr/bin/env python3 +"""Pre-commitment audit: were the hypotheses committed before the results? + +The second pass of the review in PUBLISHING.md. For every question directory a commit range touches, +this finds the first commit that adds `hypotheses.md` and the first commit that adds `FINDINGS.md` or +anything under `results/`, and reports whether the hypotheses came first. It reads the git history of +the range only, so it works on a pull request's own commits even when the published record has been +squashed or the clone is shallow. + +Run on a pull request from the repo root: + + python ci/precommit_audit.py origin/contrib..HEAD + python ci/precommit_audit.py origin/contrib..HEAD --strict # exit 1 on any violation + +A directory whose hypotheses and results first appear in the same commit is reported as +`same-commit`: the order is not auditable from history and the reviewer has to ask. +""" + +import argparse +import subprocess +import sys +from collections import defaultdict + +RESULT_MARKERS = ("FINDINGS.md", "results/") + + +def _commits(rng: str) -> list: + """Commits in the range, oldest first, with the files each one adds or changes.""" + out = subprocess.run( + ["git", "log", "--reverse", "--format=%H %ad", "--date=short", "--name-only", rng], + capture_output=True, text=True, check=True, + ).stdout + commits, cur = [], None + for line in out.splitlines(): + if not line.strip(): + continue + parts = line.split() + if len(parts) == 2 and len(parts[0]) == 40 and parts[1].count("-") == 2: + cur = {"sha": parts[0], "date": parts[1], "files": []} + commits.append(cur) + elif cur is not None: + cur["files"].append(line.strip()) + return commits + + +def audit(rng: str) -> list: + first_hyp, first_res = {}, {} + for c in _commits(rng): + for f in c["files"]: + if "/questions/" not in f and "/studies/" not in f: + continue + parts = f.split("/") + try: + i = parts.index("questions") if "questions" in parts else parts.index("studies") + except ValueError: + continue + if len(parts) < i + 3: + continue + d = "/".join(parts[: i + 2]) + rest = "/".join(parts[i + 2:]) + if rest == "hypotheses.md" and d not in first_hyp: + first_hyp[d] = c + if rest.startswith(RESULT_MARKERS) and d not in first_res: + first_res[d] = c + rows = [] + for d in sorted(set(first_hyp) | set(first_res)): + h, r = first_hyp.get(d), first_res.get(d) + if h and not r: + verdict = "hypotheses-only" + elif r and not h: + verdict = "results-without-hypotheses" + elif h["sha"] == r["sha"]: + verdict = "same-commit" + else: + # The range is oldest-first, so compare positions, not dates. + verdict = "ok" if _pos(h, rng) < _pos(r, rng) else "results-first" + rows.append((d, verdict, h, r)) + return rows + + +_POS = {} + + +def _pos(c: dict, rng: str) -> int: + if rng not in _POS: + _POS[rng] = {x["sha"]: i for i, x in enumerate(_commits(rng))} + return _POS[rng][c["sha"]] + + +def main(argv) -> int: + ap = argparse.ArgumentParser(description=__doc__, + formatter_class=argparse.RawDescriptionHelpFormatter) + ap.add_argument("range", help="git commit range, e.g. origin/contrib..HEAD") + ap.add_argument("--strict", action="store_true", + help="exit non-zero on results-first, results-without-hypotheses, or same-commit") + args = ap.parse_args(argv) + rows = audit(args.range) + if not rows: + print(f"pre-commitment audit ({args.range}) — no question or study directories touched.") + return 0 + print(f"pre-commitment audit ({args.range}) — {len(rows)} director{'y' if len(rows) == 1 else 'ies'}") + print("=" * 72) + bad = 0 + for d, verdict, h, r in rows: + hs = f"hypotheses {h['sha'][:8]} {h['date']}" if h else "hypotheses —" + rs = f"results {r['sha'][:8]} {r['date']}" if r else "results —" + flag = "OK " if verdict in ("ok", "hypotheses-only") else "WARN" + bad += flag == "WARN" + print(f" {flag} {verdict:<28} {d}\n {hs}; {rs}") + print("=" * 72) + if bad: + print(f"{bad} director{'y' if bad == 1 else 'ies'} where the order is wrong or not auditable; " + "the reviewer asks the author.") + return 1 if args.strict else 0 + print("hypotheses precede results everywhere the range touches.") + return 0 + + +if __name__ == "__main__": + sys.exit(main(sys.argv[1:])) diff --git a/ci/reproduce.json b/ci/reproduce.json index 90a7e6ba..47c3278d 100644 --- a/ci/reproduce.json +++ b/ci/reproduce.json @@ -1851,6 +1851,16 @@ "timeout": 60, "source": "MAP.md (generated by tools/build_map.py)" }, + { + "name": "catalog-current", + "core": true, + "cmd": "python tools/build_catalog.py --check", + "expect": [ + "catalog.json is up to date." + ], + "timeout": 60, + "source": "catalog.json (generated by tools/build_catalog.py)" + }, { "name": "research-index-current", "core": true, @@ -7001,6 +7011,42 @@ ], "timeout": 120, "source": "org_frontier/probes/probe_voting_robustness.py" + }, + { + "name": "probe-7-control", + "cmd": "python -m org_frontier.probes.probe_control", + "expect": [ + "mutual_veto_AND whole-system triadic Φ=2.000 core=('W', 'S', 'C') Φ=2.000", + "worker_controls whole-system dyadic Φ=0.000 core=('W', 'S') Φ=2.000", + "cp_controls whole-system dyadic Φ=0.000 core=('S', 'C') Φ=2.000", + "either_forces_OR whole-system triadic Φ=2.000 core=('W', 'S', 'C') Φ=2.000" + ], + "timeout": 120, + "source": "org_frontier/probes/PROBES.md (#7); the first probe START_HERE.md runs" + }, + { + "name": "probe-57-chain-theorem", + "cmd": "python -m org_frontier.probes.probe_chain_theorem", + "expect": [ + "k=1 (n=3) triadic Φ=2.0000 states=4 MIP=2 parts: {W,S1C}", + "k=5 (n=7) triadic Φ=2.0000 states=49 MIP=2 parts: {WS1S2,S3S4S5C}", + "distinct Φ across depths: [2.0]" + ], + "timeout": 1500, + "slow": true, + "source": "org_frontier/probes/PROBES.md (#57); the protocol's named control" + }, + { + "name": "probe-116-conjunctive-law", + "cmd": "python -m org_frontier.probes.probe_conjunctive_law", + "expect": [ + "AND-all 4 3.000 3 4 True", + "AND-all 7 6.000 6 7 True", + "OR-all 6 5.000 5 6 True" + ], + "timeout": 1500, + "slow": true, + "source": "org_frontier/probes/PROBES.md (#116); the scaling-law probe in START_HERE.md" } ] } diff --git a/org_frontier/questions/q43_thompson_interdependence/literature/README.md b/org_frontier/questions/q43_thompson_interdependence/literature/README.md new file mode 100644 index 00000000..dce088b3 --- /dev/null +++ b/org_frontier/questions/q43_thompson_interdependence/literature/README.md @@ -0,0 +1,8 @@ +# Q43 — literature (Stage 2) + +The pilot ran before the Stage 2 artifact was standardized, so this directory holds no +`deep_research_report.md` or `references.bib`. The sources the question drew on are the ones cited in +[`../paper.md`](../paper.md) (Related work and References), and the protocol's own Stage 2 run on the +methodology is in [`../../../protocol/literature/`](../../../protocol/literature/). A backfill that +returns the 15–30 verified sources the gate asks for is open; it enters only with resolvable identifiers, +per the citation rule in `CLAUDE.md`. diff --git a/tools/build_catalog.py b/tools/build_catalog.py new file mode 100644 index 00000000..cc3834ea --- /dev/null +++ b/tools/build_catalog.py @@ -0,0 +1,318 @@ +"""Generate catalog.json — a machine-readable index of what the lab has already asked — and search it. + +The README directory is for people. This catalog is for the assistant that has to answer "has this +question been asked here?" before a newcomer scaffolds a new one (START_HERE.md, Phase 3.5; the +protocol's Stage 1). One row per question, probe, study, foundations experiment, and open thread, +with the one-line finding, the reproduce commands registered in ci/reproduce.json, and a runtime +class, so the nearest prior work can be found without crawling the tree. + + python tools/build_catalog.py # rewrite catalog.json in place + python tools/build_catalog.py --check # exit non-zero if catalog.json is stale (CI gate) + python tools/build_catalog.py --find "k-of-n quorum majority" # nearest rows to a question + +Deterministic and standard-library only: every list is sorted, so the output depends only on the +content. Run after adding a question, probe, or study, or editing OPEN_QUESTIONS.md. +""" + +import argparse +import glob +import json +import os +import re +import signal +import sys + +_ROOT = os.path.abspath(os.path.join(os.path.dirname(__file__), "..")) +_OUT = os.path.join(_ROOT, "catalog.json") +_MANIFEST = os.path.join(_ROOT, "ci", "reproduce.json") +_PROBES_MD = os.path.join(_ROOT, "org_frontier", "probes", "PROBES.md") +_OPEN = os.path.join(_ROOT, "OPEN_QUESTIONS.md") + +sys.path.insert(0, os.path.dirname(os.path.abspath(__file__))) +from build_index import _first_heading, _first_paragraph, _finding_for, _clip, _strip_q_prefix # noqa: E402 + + +# --------------------------------------------------------------------------------------------- +# Helpers +# --------------------------------------------------------------------------------------------- + +def _rel(path: str) -> str: + return os.path.relpath(path, _ROOT).replace(os.sep, "/") + + +def _checks_by_dir() -> dict: + """Map a study directory to the reproduce checks whose command runs from it.""" + try: + with open(_MANIFEST, encoding="utf-8") as fh: + checks = json.load(fh)["checks"] + except (OSError, ValueError, KeyError): + return {} + out = {} + for c in checks: + toks = c["cmd"].split() + d = None + if "-m" in toks: + d = "/".join(toks[toks.index("-m") + 1].split(".")[:-1]) + else: + for t in toks[1:]: + if t.endswith(".py") and "/" in t: + d = "/".join(t.split("/")[:-1]) + break + if d: + out.setdefault(d, []).append(c) + return out + + +def _runtime(checks: list) -> str: + """fast: every registered check is per-PR; slow: at least one is nightly-only; unregistered.""" + if not checks: + return "unregistered" + return "slow" if any(c.get("slow") for c in checks) else "fast" + + +def _strip_md(text: str) -> str: + text = re.sub(r"`([^`]*)`", r"\1", text) + text = re.sub(r"\*\*([^*]*)\*\*", r"\1", text) + text = re.sub(r"\*([^*]*)\*", r"\1", text) + return re.sub(r"\s+", " ", text).strip() + + +# --------------------------------------------------------------------------------------------- +# Row builders +# --------------------------------------------------------------------------------------------- + +def _questions(by_dir: dict) -> list: + rows = [] + for d in glob.glob(os.path.join(_ROOT, "org_frontier", "questions", "q*_*")): + m = re.match(r"q(\d+)_(.+)", os.path.basename(d)) + if not m or not os.path.isdir(d): + continue + num, slug = int(m.group(1)), m.group(2) + paper = os.path.join(d, "paper.md") + findings = os.path.join(d, "FINDINGS.md") + hyps = os.path.join(d, "hypotheses.md") + title = _strip_q_prefix(_first_heading(paper)) or slug.replace("_", " ") + question = "" + review = os.path.join(d, "review.md") + if os.path.exists(review): + with open(review, encoding="utf-8") as fh: + mq = re.search(r"\*\*Question\.\*\*\s*(.+?)(?:\n\n|\Z)", fh.read(), re.S) + if mq: + question = _clip(_strip_md(mq.group(1)), 400) + checks = by_dir.get(_rel(d), []) + rows.append({ + "kind": "question", + "id": f"Q{num}", + "slug": slug, + "title": title, + "question": question, + "finding": _finding_for(findings), + "path": _rel(d), + "artifacts": { + "review": os.path.exists(review), + "hypotheses": os.path.exists(hyps), + "literature": os.path.isdir(os.path.join(d, "literature")), + "paper": os.path.exists(paper), + "findings": os.path.exists(findings), + }, + "reproduce": sorted(c["cmd"] for c in checks), + "runtime": _runtime(checks), + }) + rows.sort(key=lambda r: int(r["id"][1:])) + return rows + + +def _probes(by_dir: dict) -> list: + """Every `| n | concept | hypothesis | verdict | result |` row of PROBES.md, by number.""" + rows = {} + try: + with open(_PROBES_MD, encoding="utf-8") as fh: + lines = fh.read().splitlines() + except OSError: + return [] + probe_checks = by_dir.get("org_frontier/probes", []) + for line in lines: + m = re.match(r"^\|\s*(\d+)\s*\|(.*)\|\s*$", line) + if not m: + continue + cells = [c.strip() for c in m.group(2).split("|")] + if len(cells) < 4: + continue + num = int(m.group(1)) + script = re.search(r"`(probe_[a-z0-9_]+)\.py`", cells[-1]) + module = f"org_frontier.probes.{script.group(1)}" if script else "" + checks = [c for c in probe_checks if module and module in c["cmd"]] + rows[num] = { + "kind": "probe", + "id": f"#{num}", + "concept": _strip_md(cells[0]), + "hypothesis": _strip_md(cells[1]), + "verdict": _strip_md(cells[2]), + "result": _clip(_strip_md(cells[3]), 400), + "path": f"org_frontier/probes/{script.group(1)}.py" if script else "org_frontier/probes/PROBES.md", + "reproduce": sorted(c["cmd"] for c in checks) or ([f"python -m {module}"] if module else []), + "runtime": _runtime(checks), + } + return [rows[k] for k in sorted(rows)] + + +def _dir_rows(kind: str, pattern: str, by_dir: dict) -> list: + rows = [] + for d in sorted(glob.glob(os.path.join(_ROOT, pattern))): + base = os.path.basename(d) + if not os.path.isdir(d) or base.startswith("__") or base == "template": + continue + findings = os.path.join(d, "FINDINGS.md") + if not os.path.exists(findings): + continue + readme = os.path.join(d, "README.md") + checks = by_dir.get(_rel(d), []) + rows.append({ + "kind": kind, + "id": base, + "title": _first_heading(readme) or base.replace("_", " "), + "finding": _clip(_first_paragraph(findings) or _finding_for(findings), 400), + "path": _rel(d), + "reproduce": sorted(c["cmd"] for c in checks), + "runtime": _runtime(checks), + }) + return rows + + +def _open_threads() -> list: + """The rows of the table in OPEN_QUESTIONS.md: id, question, status, kind, where, first command.""" + rows = [] + try: + with open(_OPEN, encoding="utf-8") as fh: + text = fh.read() + except OSError: + return rows + for line in text.splitlines(): + m = re.match(r"^\|\s*(O\d+)\s*\|(.*)\|\s*$", line) + if not m: + continue + cells = [c.strip() for c in m.group(2).split("|")] + if len(cells) < 5: + continue + rows.append({ + "kind": "open", + "id": m.group(1), + "question": _strip_md(cells[0]), + "status": _strip_md(cells[1]).lower(), + "needs": _strip_md(cells[2]), + "where": _strip_md(cells[3]), + "first_command": _strip_md(cells[4]), + "path": "OPEN_QUESTIONS.md", + }) + return rows + + +def build() -> dict: + by_dir = _checks_by_dir() + rows = [] + rows += _questions(by_dir) + rows += _probes(by_dir) + rows += _dir_rows("study", "org_frontier/studies/*", by_dir) + rows += _dir_rows("foundations", "foundations/*", by_dir) + rows += _open_threads() + counts = {} + for r in rows: + counts[r["kind"]] = counts.get(r["kind"], 0) + 1 + return { + "_help": "Generated by tools/build_catalog.py; do not edit by hand. One row per question, probe, " + "study, foundations experiment, and open thread. Search it with " + "`python tools/build_catalog.py --find \"\"` before scaffolding a new question.", + "counts": counts, + "rows": rows, + } + + +# --------------------------------------------------------------------------------------------- +# Search +# --------------------------------------------------------------------------------------------- + +_STOP = set("a an the of to in on for and or is are does do can with by from as at it its this that " + "than into when what which who how not no any one two three vs versus under over".split()) + + +def _tokens(text: str) -> set: + return {t for t in re.findall(r"[a-z0-9φ]+", text.lower()) if t not in _STOP and len(t) > 1} + + +def _row_text(r: dict) -> str: + return " ".join(str(r.get(k, "")) for k in ("id", "slug", "title", "question", "finding", "concept", + "hypothesis", "result", "needs", "where")) + + +def find(query: str, catalog: dict, limit: int = 12) -> list: + q = _tokens(query) + scored = [] + for r in catalog["rows"]: + toks = _tokens(_row_text(r)) + hit = q & toks + if hit: + # Weight by distinct matched terms, then by how much of the query matched. + scored.append((len(hit), len(hit) / len(q), r, sorted(hit))) + scored.sort(key=lambda t: (-t[0], -t[1], t[2]["kind"], t[2]["id"])) + return scored[:limit] + + +def _print_find(query: str, catalog: dict) -> None: + hits = find(query, catalog) + if not hits: + print(f"No catalog row shares a term with {query!r}. The question looks open; place it against " + f"org_frontier/STRUCTURAL_FINDINGS.md by hand, then scaffold it.") + return + print(f"Nearest catalog rows to {query!r} ({len(hits)} shown; matched terms in brackets):") + for n, frac, r, hit in hits: + label = r.get("title") or r.get("concept") or r.get("question") or r["id"] + gist = r.get("finding") or r.get("result") or r.get("status") or "" + line = f" {r['kind']:<11} {r['id']:<8} {_clip(label, 70)}" + if gist: + line += f" — {_clip(gist, 110)}" + print(line + f" [{', '.join(hit)}]") + print(f" {r['path']}" + (f" ({r['runtime']})" if r.get("runtime") else "")) + print("Read the closest rows before writing review.md. An open-thread row (kind `open`) is a " + "contribution waiting for someone; a question or probe row that already answers you is a " + "result to cite, stress, or extend.") + + +# --------------------------------------------------------------------------------------------- +# Main +# --------------------------------------------------------------------------------------------- + +def render() -> str: + return json.dumps(build(), indent=1, ensure_ascii=False, sort_keys=False) + "\n" + + +def main() -> int: + ap = argparse.ArgumentParser(description=__doc__, + formatter_class=argparse.RawDescriptionHelpFormatter) + ap.add_argument("--check", action="store_true", help="exit non-zero if catalog.json is stale") + ap.add_argument("--find", metavar="QUERY", help="print the catalog rows nearest to a question") + args = ap.parse_args() + + if args.find: + signal.signal(signal.SIGPIPE, signal.SIG_DFL) # `| head` must not traceback + _print_find(args.find, build()) + return 0 + + new = render() + current = open(_OUT, encoding="utf-8").read() if os.path.exists(_OUT) else "" + if args.check: + if new == current: + print("catalog.json is up to date.") + return 0 + print("catalog.json is OUT OF DATE — run: python tools/build_catalog.py") + return 1 + if new == current: + print("catalog.json already current; unchanged.") + return 0 + with open(_OUT, "w", encoding="utf-8") as fh: + fh.write(new) + print(f"Wrote {_OUT}") + return 0 + + +if __name__ == "__main__": + sys.exit(main()) diff --git a/tools/build_map.py b/tools/build_map.py index 7a1786f0..fb8e581e 100644 --- a/tools/build_map.py +++ b/tools/build_map.py @@ -85,6 +85,18 @@ def _count_bib(pattern: str) -> int: return total +def _count_open_threads() -> int: + """Rows of the OPEN_QUESTIONS.md table whose status cell reads `open`.""" + path = os.path.join(_ROOT, "OPEN_QUESTIONS.md") + try: + with open(path, encoding="utf-8") as fh: + return sum(1 for line in fh + if re.match(r"^\|\s*O\d+\s*\|", line) + and [c.strip().lower() for c in line.split("|")][3:4] == ["open"]) + except OSError: + return 0 + + def _row(label_link: str, gloss: str) -> str: return f"| {label_link} | {gloss} |" @@ -101,6 +113,7 @@ def _row(label_link: str, gloss: str) -> str: ("AGENTS.md", "Operating manual for agents: map, run/verify, git rule, land flow, done-checklist"), ("README.md", "What the lab is, the thesis, setup, and the full generated directory"), ("OVERVIEW.md", "Five-minute orientation: the argument, where it stands, where to contribute"), + ("OPEN_QUESTIONS.md", "The open threads with a status column: what is waiting for someone, and what each needs"), ("GETTING_STARTED.md", "Hands-on: environment → confirm the instrument → scaffold → register → PR"), ("CONTRIBUTING.md", "Code, probe, study, and house-style conventions a submission must meet"), ("REPO_LAYOUT.md", "The two-repo git trap: this repo vs the nested private dissertation"), @@ -115,6 +128,7 @@ def _row(label_link: str, gloss: str) -> str: _MACHINERY = [ ("tools/build_index.py", "python tools/build_index.py", "the generated directory in README.md"), ("tools/build_map.py", "python tools/build_map.py", "this file, MAP.md"), + ("tools/build_catalog.py", "python tools/build_catalog.py", "catalog.json — the searchable index of questions, probes, studies, and open threads (`--find`)"), ("org_frontier/research/build_research_index.py", "python org_frontier/research/build_research_index.py", "the research watch INDEX.md"), ("ci/reproduce.py", "python ci/reproduce.py", "every registered number in ci/reproduce.json"), @@ -248,6 +262,7 @@ def _at_a_glance() -> list: "`org_frontier/reviews/*/` with a `FINDINGS.md`"), ("watch entries (program-level)", _count_bib("org_frontier/research/*/literature/references.bib"), "`org_frontier/research/*/literature/references.bib`"), + ("open threads", _count_open_threads(), "`OPEN_QUESTIONS.md` rows with status `open`"), ] out = ["## At a glance", "", "| count | what | source |", "|---|---|---|"] for label, n, source in counts: From 98abec7ab1cc6b3a876145f66a4e6737390457c8 Mon Sep 17 00:00:00 2001 From: Claude Date: Tue, 27 Oct 2026 11:26:42 +0000 Subject: [PATCH 4/5] =?UTF-8?q?docs:=20the=20forker's=20path=20=E2=80=94?= =?UTF-8?q?=20fast=20first=20probe,=20placement=20step,=20fork=20recipe,?= =?UTF-8?q?=20one=20style=20rule?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit START_HERE runs probe_control (two seconds) instead of the nine-minute conjunctive law, adds Phase 3.5 (place the question against the catalog: answered, adjacent, or open), routes the data-minded to DATA_SOURCES.md and the handoff packets, and sends 'find something new' to OPEN_QUESTIONS.md. GETTING_STARTED gains the placement step and the fork remote recipe. AGENTS confirms the instrument with classifier.validate rather than the full manifest, lists the fourth generator, and adds the fork note. AGENTS, CONTRIBUTING, PUBLISHING carry one style sentence pointing at CLAUDE.md's current rules. OVERVIEW, org_frontier/README, and protocol/README drop the drifted counts and the stale 'not yet run' and 'rest pending' lines. NOW.md is refreshed to 27 October. README's setup block warns about Python 3.10 and validates; llms.txt lists START_HERE and OPEN_QUESTIONS. Co-Authored-By: Claude Fable 5.1 Claude-Session: https://claude.ai/code/session_01H7Xkmpzs9ewHjVmrjPYwYV --- AGENTS.md | 38 ++++++++++++------ CONTRIBUTING.md | 18 +++++---- GETTING_STARTED.md | 55 ++++++++++++++++++++------ NOW.md | 25 ++++++------ OVERVIEW.md | 44 +++++++++++++-------- PUBLISHING.md | 15 ++++--- README.md | 17 ++++++-- START_HERE.md | 89 ++++++++++++++++++++++++++++++++++-------- llms.txt | 2 + org_frontier/README.md | 8 ++-- 10 files changed, 223 insertions(+), 88 deletions(-) diff --git a/AGENTS.md b/AGENTS.md index a9db9d54..8813969a 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -23,7 +23,9 @@ points back here for the shared rules. 2. **[`MAP.md`](MAP.md)** — the one-screen index: instrument, computational lab, empirical arms, submissions, machinery, live counts. Generated, always current. 3. **[`OVERVIEW.md`](OVERVIEW.md)** — what the lab argues and where it actually stands. Then this file - for the operating rules. + for the operating rules. **[`OPEN_QUESTIONS.md`](OPEN_QUESTIONS.md)** is the registry of open threads, + and `python tools/build_catalog.py --find ""` places a question against everything already + asked. The repository is large (hundreds of directories and dozens of READMEs). `MAP.md` and the generated directory in `README.md` are the cheap ways in. Reach for a README in the specific subtree only once the map has @@ -56,12 +58,16 @@ pip install -r requirements.txt # pulls PyPhi + phyid from git: n ``` Run everything from the repo root so `org_frontier.*` and `foundations.*` resolve. Confirm the instrument -before trusting any result — the control probes assert that a known form reproduces its known verdict: +before trusting any result — the controls assert that a known form reproduces its known verdict: ```bash -python ci/reproduce.py # re-derive every registered number; the instrument control is core +python -m org_frontier.classifier.validate # must print "Instrument validated" (about two seconds) +python ci/reproduce.py instrument-controls # the same gate as CI runs it ``` +`python ci/reproduce.py` with no arguments is the full manifest (hundreds of checks, some of them +minutes each); that is the nightly job, not the confirm step. + For large cheap-feature panels, the lab-default **margin cascade** screens with a Probe-131 RF and calls exact Φ only on the top **B=10%** most uncertain forms (OOF `|p−0.5|`, recomputed per panel): @@ -76,14 +82,15 @@ See [`org_frontier/cascade/README.md`](org_frontier/cascade/README.md). Do not f ## Verify before you land -Three generators keep the navigable surface current, each with a `--check` that CI gates. Run the ones -your change touched, then confirm all three are clean: +Four generators keep the navigable surface current, each with a `--check` that CI gates. Run the ones +your change touched, then confirm all four are clean: ```bash python tools/build_index.py --check # the README directory python tools/build_map.py --check # MAP.md +python tools/build_catalog.py --check # catalog.json, the searchable index python org_frontier/research/build_research_index.py --check # the research watch index -python ci/reproduce.py # every number reproduces from its script +python ci/reproduce.py … # the numbers your change registered ``` If a `--check` reports stale, run the same command without `--check` to regenerate, then commit the @@ -99,7 +106,8 @@ shortest version: | Adding… | Lands under | Start from | |---|---|---| | a probe | `org_frontier/probes/probe_.py` | the global numbering in `org_frontier/probes/PROBES.md` | -| a full question | `org_frontier/questions/q_/` | `org_frontier/protocol/template/` or the pipeline | +| a full question | `org_frontier/questions/q_/` | `python tools/build_catalog.py --find …`, then `python -m org_frontier.protocol.new_question` | +| an open thread | wherever its row in `OPEN_QUESTIONS.md` points | set the row to `claimed` in the same PR | | a qualitative study | `org_frontier/qualitative//` | `org_frontier/qualitative/template/` | | a recurrence experiment | `org_frontier/recurrence/` | `crqa.py` and the existing Φ harnesses | | a survey study | `org_frontier/survey//` | the arm and its first study in `org_frontier/survey/README.md` | @@ -122,16 +130,24 @@ gh pr create --base contrib --title "…" --body "…" # CI green → merge into contrib → open the contrib→main promotion PR → merge → delete the branch ``` +From a fork, `origin` is the fork: add this repository as `upstream`, branch off `upstream/contrib`, +and open the PR with `--repo rogerSuperBuilderAlpha/algorithmacy-lab` (the recipe is in +[`GETTING_STARTED.md`](GETTING_STARTED.md#8-open-a-pull-request)). The `update-directory` job cannot push +to a fork, so regenerate the indexes locally before pushing. + ## Definition of done — the gate before opening a PR - The instrument was validated on a known control before any comparison. - Numbers come from a committed script and are registered in `ci/reproduce.json`; `python ci/reproduce.py` passes locally. -- All three index `--check`s are clean (`build_index.py`, `build_map.py`, `build_research_index.py`). -- Hypotheses were fixed before computing, and nulls and refutations are reported as results. +- All four index `--check`s are clean (`build_index.py`, `build_map.py`, `build_catalog.py`, + `build_research_index.py`). +- Hypotheses were fixed before computing (`python ci/precommit_audit.py origin/contrib..HEAD` shows the + order), and nulls and refutations are reported as results. - Every result states the validation gap: it is evidence about the model, not about a real organization. -- Prose follows the house style in [`CLAUDE.md`](CLAUDE.md) — no first person, plain declarative - sentences, and the de-slop self-check passed. +- Prose follows the house style in [`CLAUDE.md`](CLAUDE.md), its current rules: claim-first paragraphs, + named agents in active voice, first person only for authorial labor, no emphasis-marker openers, and + the flow self-check passed. - Citations resolve to real DOIs / arXiv IDs / stable URLs; nothing is fabricated to fill a gap. - The git target was confirmed with `git rev-parse --show-toplevel` before committing. diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 84d23c3e..7730eea0 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -57,8 +57,11 @@ input to a verdict. strict numeric order, so there is no scaffolder for a plain probe number — take the next free one as the current maximum plus one: `grep -oE '^\| [0-9]+' org_frontier/probes/PROBES.md | grep -oE '[0-9]+' | sort -n | tail -1`. -- A full question goes through the pipeline and lands under `org_frontier/questions/q_/`. Copy - [`org_frontier/protocol/template/`](org_frontier/protocol/template/), or run the orchestration. +- A full question goes through the pipeline and lands under `org_frontier/questions/q_/`. Place + it first with `python tools/build_catalog.py --find ""` (the nearest prior questions, probes, + and studies), then scaffold it with `python -m org_frontier.protocol.new_question --slug `, which + copies [`org_frontier/protocol/template/`](org_frontier/protocol/template/) and names the probe stub. + Open threads waiting for someone are in [`OPEN_QUESTIONS.md`](OPEN_QUESTIONS.md). - Reuse the shared infrastructure rather than rebuilding it: `org_frontier/classifier/`, `org_frontier/probes/lib.py`, `org_frontier/probes/_info.py`, `foundations/proxy_audit/exact_phi.py`. @@ -114,15 +117,16 @@ and leaves it to the nightly job. A contribution that registers no number — a qualitative or survey study — still triggers the `core` instrument control on the per-PR gate, and that control needs a working PyPhi environment (Python 3.10+). CI runs it for you on every PR, so a contributor without a compute environment verifies locally with the -three index `--check`s (`build_index.py`, `build_map.py`, `build_research_index.py`) and lets CI run the -control. The study stands on `directory-current`: once `python tools/build_index.py` indexes it, the gate +four index `--check`s (`build_index.py`, `build_map.py`, `build_catalog.py`, `build_research_index.py`) +and lets CI run the control. The study stands on `directory-current`: once `python tools/build_index.py` indexes it, the gate confirms it is listed. ## Prose -All prose follows the house style in [`CLAUDE.md`](CLAUDE.md): no first person, plain declarative -sentences, section titles as short noun phrases, and a de-slop pass (cut the antithesis machine, -self-narration of rigor, and metronomic openers). Citations resolve to real sources. +All prose follows the house style in [`CLAUDE.md`](CLAUDE.md), its current rules: claim-first paragraphs, +named agents in active voice, first person only for authorial labor (I searched, I coded), no sentence +commenting on the paper's own rigor, no emphasis-marker openers, section titles as short noun phrases, and +the flow self-check run on each paragraph. Citations resolve to real sources. ## Git and the two repositories diff --git a/GETTING_STARTED.md b/GETTING_STARTED.md index 3e27c5a9..1600a4bc 100644 --- a/GETTING_STARTED.md +++ b/GETTING_STARTED.md @@ -45,10 +45,13 @@ every probe you write repeats it. ## 3. Run an existing experiment ```bash -python -m org_frontier.probes.probe_conjunctive_law +python -m org_frontier.probes.probe_control # Probe 7, about two seconds ``` -A "probe" is one script that tests one hypothesis with exact Φ and prints a verdict. The log of +A "probe" is one script that tests one hypothesis with exact Φ and prints a verdict. Probe 7 tests the +thesis's own clause: a mediator that follows one party alone reads dyadic, mutual veto and either-forces +read triadic. Exact Φ grows fast with node count, so check a probe's FINDINGS or docstring for its +runtime before running it; `probe_conjunctive_law` goes to seven nodes and takes about nine minutes. The log of every probe run is `org_frontier/probes/PROBES.md`; the worked end-to-end question is `org_frontier/questions/q43_thompson_interdependence/`. Read one of each before writing your own. @@ -75,20 +78,37 @@ The shared API lives in `org_frontier/classifier/classifier.py` (`classify_rules `max_phi_float`), and `foundations/proxy_audit/exact_phi.py` (`exact_big_phi`, `reachable_states`). Exact Φ is feasible up to roughly 10–12 nodes; keep forms small. -## 5. Scaffold a new question +## 5. Place your question, then scaffold it + +The lab has asked many questions already, and the protocol's first stage is to place a new one against +them. Search the generated catalog with your question's keywords: + +```bash +python tools/build_catalog.py --find "majority quorum mediator" +``` + +It prints the nearest prior questions, probes, studies, and open threads, each with its one-line +finding and reproduce command. If a row answers your question, cite it and stress it instead of +re-asking. If a row answers a neighbor, your study is the residual. If nothing is close, scaffold it. +If you have no question of your own yet, [`OPEN_QUESTIONS.md`](OPEN_QUESTIONS.md) lists what is +waiting for someone, with what each thread needs and its first command; set a row to `claimed` in the +pull request that takes it. ```bash python -m org_frontier.protocol.new_question --slug your_slug \ --question "Your one-line research question" ``` -This copies `org_frontier/protocol/template/` to `org_frontier/questions/q_/`, fills in -the next free question number and probe number, and prints the next steps. Read +This copies `org_frontier/protocol/template/` to `org_frontier/questions/q_/`, names the +probe stub `probe_.py`, creates `results/` and `literature/`, fills in the next free question +number and probe number, and prints the next steps. Read `org_frontier/protocol/RESEARCH_PROTOCOL.md` for what each artifact (`review.md`, `hypotheses.md`, `methods.md`, the `probe_*.py` scripts, `FINDINGS.md`, `paper.md`) must contain. The one rule that makes the record credible: **commit `hypotheses.md` before you compute the -results.** The git history is the evidence that the claims were fixed first. +results.** The git history is the evidence that the claims were fixed first; +`python ci/precommit_audit.py origin/contrib..HEAD` reports the order for every question directory +your branch touches. For qualitative research — reading a real coordination setting against the priors through interviews, observation, or document work — start instead from @@ -131,17 +151,20 @@ python ci/reproduce.py your-check-name # one check python ci/reproduce.py # the full manifest ``` -## 7. Refresh the README directory +## 7. Refresh the generated indexes The README carries a generated directory of every question, study, essay, and review -(`tools/build_index.py`). Regenerate it so your work shows up: +(`tools/build_index.py`), and `catalog.json` is the searchable index the placement step reads. +Regenerate both so your work shows up: ```bash python tools/build_index.py +python tools/build_catalog.py ``` -A pull request from this repo regenerates it automatically; the `directory-current` CI check -fails if it is stale, so run it before pushing (it commits a one-line change to README.md). +A pull request from this repo regenerates them automatically; a pull request from a fork cannot, and +the `directory-current` and `catalog-current` CI checks fail if either is stale, so run both before +pushing. ## 8. Open a pull request @@ -149,13 +172,19 @@ Work lands through `contrib`, never `main` directly. Read `REPO_LAYOUT.md` first this tree nests a second, private git repo under `dissertation/`, and the directory you run git from decides which repo you touch. +Working from a fork, add this repository as `upstream` once, then branch off its `contrib`: + ```bash -git checkout contrib && git pull -git checkout -b study/your-slug +gh repo fork rogerSuperBuilderAlpha/algorithmacy-lab --clone # or fork on GitHub and clone yours +git remote add upstream https://github.com/rogerSuperBuilderAlpha/algorithmacy-lab.git +git fetch upstream contrib +git checkout -b study/your-slug upstream/contrib git add && git commit -m "..." # hypotheses committed before results git push -u origin study/your-slug -gh pr create --base contrib +gh pr create --repo rogerSuperBuilderAlpha/algorithmacy-lab --base contrib ``` +With write access to this repository, `origin` is `upstream` and the first two lines are not needed. + `PUBLISHING.md` describes the four-pass review your PR will get (reproduction, pre-commitment audit, argument, prose) and `CONTRIBUTING.md` covers house style. diff --git a/NOW.md b/NOW.md index 495121cf..05546b9b 100644 --- a/NOW.md +++ b/NOW.md @@ -1,34 +1,37 @@ # NOW — what is live this week Start here. The rest of the repo is the lab, the catalog, and the archive. This page is the work that has -a date on it. Last updated 2026-09-25. +a date on it. Last updated 2026-10-27. -**Coming from the ALGOCON talk?** Start at [`START_HERE.md`](START_HERE.md): it gets you from a clone to a -computed Φ in about fifteen minutes. The talk's slides, script and open questions are in -[`submissions/triadic_reduction/`](submissions/triadic_reduction/), and -[`OVERVIEW.md`](OVERVIEW.md#where-you-could-contribute) lists the threads that need someone. +**New to the repo?** Start at [`START_HERE.md`](START_HERE.md): it gets you from a clone to a computed Φ +in a few minutes, then places your own question against what the lab has asked and routes it to an open +thread. The open threads, with status and what each needs, are in [`OPEN_QUESTIONS.md`](OPEN_QUESTIONS.md). + +**Coming from the ALGOCON talk?** The slides, script and open questions are in +[`submissions/triadic_reduction/`](submissions/triadic_reduction/). ## Next dates | Due | Piece | Path | Venue | | --- | --- | --- | --- | -| 2026-10-01 | Slacker chapter, first draft for editor feedback (optional) | [`submissions/slacker_thirds/chapter.md`](submissions/slacker_thirds/chapter.md) | Bloomsbury | -| 2026-10-05–07 | Lima workshop, in person, plus roundtable reviewing | [`submissions/lima_pdw/`](submissions/lima_pdw/) | OS/OT PDW Lima | | 2026-10-28–31 | Do Triads Reduce to Dyads? — talk and live session | [`submissions/triadic_reduction/`](submissions/triadic_reduction/) | ALGOCON, Port of Spain | | 2026-11-01 | Slacker chapter, final draft | [`submissions/slacker_thirds/chapter.md`](submissions/slacker_thirds/chapter.md) | Bloomsbury | | 2026-12-31 (target) | Algorithmacy theory article — the Lima paper rebuilt | [`submissions/algorithmacy_ot/`](submissions/algorithmacy_ot/) | *Organization Theory* | | 2027-01-31 | When is a combination a configuration? | [`submissions/proposals/`](submissions/proposals/) | *Organization Theory* | -The August–September deadlines (IGI Global, 30 August; *Hospitality & Society*, 4 September; the Lima -manuscript, 10 September) have passed; their arms stay under [`submissions/`](submissions/). Full calendar, -terms and collisions: [`submissions/CALENDAR.md`](submissions/CALENDAR.md). Hegel Substack series (no -deadline): [`submissions/hegel_coordination/`](submissions/hegel_coordination/). +The October call-for-papers batch (FAccT 2027 abstract registered and ECIS 2027 and ILPC 2027 submitted on +26 October; the SASE, *Organization Science* AI-Enabled Frontiers, AMS, JITCAR, and later calls still +open) is tracked with its terms in [`submissions/CALENDAR.md`](submissions/CALENDAR.md). The August to +October deadlines that have passed (IGI Global, *Hospitality & Society*, the Lima manuscript and workshop, +the optional Slacker first draft) keep their arms under [`submissions/`](submissions/). Hegel Substack +series (no deadline): [`submissions/hegel_coordination/`](submissions/hegel_coordination/). ## Where everything else lives | If you want… | Go to | | --- | --- | | The thesis and how to run a probe | [`OVERVIEW.md`](OVERVIEW.md), then [`START_HERE.md`](START_HERE.md) | +| What is open and waiting for someone | [`OPEN_QUESTIONS.md`](OPEN_QUESTIONS.md); place your own question with `python tools/build_catalog.py --find "…"` | | One-screen index of the lab | [`MAP.md`](MAP.md) | | Exact-Φ package (questions, probes, studies, field, survey) | [`org_frontier/`](org_frontier/) | | Instrument validation | [`foundations/`](foundations/) | diff --git a/OVERVIEW.md b/OVERVIEW.md index f903d016..31745bb7 100644 --- a/OVERVIEW.md +++ b/OVERVIEW.md @@ -16,8 +16,9 @@ A form is **triadic** (irreducible; the lab's name for it is *algorithmacy*) or The work runs as four programs on that one question, each a different lens on the same arrangement. The **computational program** fixes a protocol — a literature pass, five hypotheses set before any -computation, an instrument-validated run, a paper — and has carried 74 questions through it, with a -measure-validation arc that established Φ as the instrument first and six synthesis papers tying threads +computation, an instrument-validated run, a paper — and has carried every question in +[`org_frontier/questions/`](org_frontier/questions/) through it (the live count is in [`MAP.md`](MAP.md)), +with a measure-validation arc that established Φ as the instrument first and six synthesis papers tying threads together. The **qualitative program** reads real coordination settings against that catalog of priors, on the questions of process and meaning fieldwork answers. The **recurrence program** pairs Φ with cross-recurrence quantification, a behavioral measure of how the parties' states track each other over @@ -73,8 +74,8 @@ The instrument is the shared base; the four programs build around it. The **computational program** — exact Φ on Boolean models, the structural reading and the prior catalog: -- **The logbook** — 74 questions in [`org_frontier/questions/`](org_frontier/questions/), each a full - paper, plus a per-probe log in [`org_frontier/probes/PROBES.md`](org_frontier/probes/PROBES.md), and the +- **The logbook** — the questions in [`org_frontier/questions/`](org_frontier/questions/), each a full + paper (count in [`MAP.md`](MAP.md); searchable through `catalog.json`), plus a per-probe log in [`org_frontier/probes/PROBES.md`](org_frontier/probes/PROBES.md), and the thread and study corpus the catalog of priors is drawn from. - **Synthesis & reviews** — the six pipeline papers (core-membership law, coordination-logic atlas, discriminant boundaries, platform position, the field protocol) and the cross-program @@ -112,23 +113,30 @@ The **survey program** — measuring the competence in people: ## Where you could contribute -Concrete open threads, roughly easiest to hardest. Each is a real gap, not busywork. The empirical and -bridge arms below each come as a ready-to-run **handoff packet** — a front-door README, the pre-registration -discipline, and a runnable scaffold that takes a real input to a verdict. The five are indexed in -[`org_frontier/HANDOFF_PACKETS.md`](org_frontier/HANDOFF_PACKETS.md). +Concrete open threads, roughly easiest to hardest. Each is a real gap, not busywork. The registry with a +status column, what each thread needs, and its first command is [`OPEN_QUESTIONS.md`](OPEN_QUESTIONS.md); +the bullets below are the same threads in prose. The empirical and bridge arms each come as a ready-to-run +**handoff packet** — a front-door README, the pre-registration discipline, and a runnable scaffold that +takes a real input to a verdict. The five are indexed in +[`org_frontier/HANDOFF_PACKETS.md`](org_frontier/HANDOFF_PACKETS.md), and the verified open datasets each +empirical line could start on today are in +[`org_frontier/research/DATA_SOURCES.md`](org_frontier/research/DATA_SOURCES.md). -- **Pick an open question.** The pre-written agendas are answered — all fifty in +- **Bring your own question.** The pre-written agendas are answered — all fifty in [`RESEARCH_AGENDA_50_V2.md`](org_frontier/RESEARCH_AGENDA_50_V2.md) and items 1–12 of [`RESEARCH_AGENDA_V4.md`](org_frontier/RESEARCH_AGENDA_V4.md) — and each answer names the residual it - leaves. V4 item 11 is answered (`GRADED_HOLDS`: the joint-observation cliff tracks duty - correlation, not channel granularity). V4 item 12 is answered (`M3_FLIPS_VERDICT`: induced exact - Φ already decides V4 items 1–3; overlay background-subset Φ moves the V4 item 1 subset-estimand key). - Scaffold one with `python -m org_frontier.protocol.new_question` and run it through the protocol. -- **Open the Ergodicity × Algorithmacy track.** Forty questions on when ensemble coordination statistics + leaves. Place a new question against them with `python tools/build_catalog.py --find ""`, + then scaffold it with `python -m org_frontier.protocol.new_question` and run it through the protocol. +- **Extend the Ergodicity × Algorithmacy track.** Forty questions on when ensemble coordination statistics transfer to an individual trajectory ([`org_frontier/ergodicity/`](org_frontier/ergodicity/)). The first cell — - [`studies/ergodic_components_vs_phi/`](org_frontier/studies/ergodic_components_vs_phi/) — asks whether - triadic forms differ from dyadic forms in attractor / basin structure; hypotheses are fixed, not yet run. + [`studies/ergodic_components_vs_phi/`](org_frontier/studies/ergodic_components_vs_phi/) — has run + (`NO_ERGODIC_SIGNATURE`), and the follow-ons leave a gap that no phase, path, observable, or panel + mechanism explains (`GAP_UNEXPLAINED`). That residual is open. +- **Run the multivalued membership test.** The two-condition membership account was found on binary + parties. The ternary and mixed-radix overlay in [`third_party/pyphi_iit4_mv/`](third_party/pyphi_iit4_mv/) + now makes the parked design (#5 in [`designs/WAVE10_PARKED_DESIGNS.md`](org_frontier/designs/WAVE10_PARKED_DESIGNS.md)) + runnable. - **Stress a standing result.** The extremes-only quorum law (study D) uses clean threshold counts; does it survive *weighted or noisy* quorums? The membership law (study A) uses a single-node influence proxy; does a higher-order pivotality measure sharpen the Shapley correspondence past the null-player corner? @@ -171,7 +179,9 @@ discipline, and a runnable scaffold that takes a real input to a verdict. The fi in one paragraph, and the contributor path end to end. 2. Read one worked question (e.g. [`org_frontier/questions/q43_thompson_interdependence/`](org_frontier/questions/q43_thompson_interdependence/)) and the [research protocol](org_frontier/protocol/RESEARCH_PROTOCOL.md). -3. Scaffold your own with `python -m org_frontier.protocol.new_question`, commit your hypotheses *before* +3. Place your question with `python tools/build_catalog.py --find ""`, or take a row from + [`OPEN_QUESTIONS.md`](OPEN_QUESTIONS.md). +4. Scaffold it with `python -m org_frontier.protocol.new_question`, commit your hypotheses *before* computing, register your numbers for CI, and open a pull request into `contrib` per [`PUBLISHING.md`](PUBLISHING.md). diff --git a/PUBLISHING.md b/PUBLISHING.md index 35faba83..b3605c22 100644 --- a/PUBLISHING.md +++ b/PUBLISHING.md @@ -19,7 +19,8 @@ and attributed rather than blind. - **An essay.** A piece of prose that argues a position about coordination, measurement, the literacy-or-algorithmacy thesis, or the method. It lands in [`org_frontier/essays/`](org_frontier/essays/). An essay that makes an empirical claim has to point at the script that backs it. -- **A study.** A research question taken through the six-stage protocol +- **A study.** A research question (placed first with `python tools/build_catalog.py --find`, or taken + from [`OPEN_QUESTIONS.md`](OPEN_QUESTIONS.md)) taken through the six-stage protocol ([`org_frontier/protocol/RESEARCH_PROTOCOL.md`](org_frontier/protocol/RESEARCH_PROTOCOL.md)): review, literature, hypotheses fixed before computing, methods, a run against the exact-Φ instrument, and a paper. It lands under `org_frontier/questions/q_/`. @@ -45,9 +46,10 @@ stranger trust the result. the models, separated from claims about real organizations by a validation gap that computing harder never closes. Every submission says so where it could be mistaken for an empirical claim about firms. -Prose follows the house style in [`CLAUDE.md`](CLAUDE.md): no first person, plain declarative -sentences, citations that resolve to real sources, and a de-slop pass. The full contributor conventions -for code and probes are in [`CONTRIBUTING.md`](CONTRIBUTING.md). +Prose follows the house style in [`CLAUDE.md`](CLAUDE.md), its current rules: claim-first paragraphs, +named agents in active voice, first person only for authorial labor, no emphasis-marker openers, and +citations that resolve to real sources. The full contributor conventions for code and probes are in +[`CONTRIBUTING.md`](CONTRIBUTING.md). ## The workflow @@ -81,7 +83,10 @@ A reviewer works a submission in four passes, in order. The first two are mechan that does not reproduce fails the check and blocks the merge until it is fixed or withdrawn. A reviewer can also run `python ci/reproduce.py` locally. 2. **Pre-commitment audit.** For a study, confirm the git history shows the hypotheses and decision - rules committed before the result. Confirm nulls and refutations are reported, not buried. + rules committed before the result: `python ci/precommit_audit.py origin/contrib..` reports, + for every question directory the branch touches, whether `hypotheses.md` landed before `FINDINGS.md` + and `results/`. A `same-commit` row is not auditable and the reviewer asks the author. Confirm nulls + and refutations are reported, not buried. 3. **Argument.** Judge the claim itself: whether the model represents what it says it does, whether the modeling commitments are declared, whether the conclusion follows from the verdict, and whether the scope statement is honest about the validation gap. diff --git a/README.md b/README.md index 44739752..c00a39be 100644 --- a/README.md +++ b/README.md @@ -32,7 +32,10 @@ Every result here is in-silico or pre-fieldwork, and the validation gap is the p need. Closing it is community work: each of the four empirical arms below is waiting on a different kind of real data, and the highest-value contribution available is to go get one piece of it. Bring it through a pull request into `contrib` (see [`CONTRIBUTING.md`](CONTRIBUTING.md)); the lab is reproducibility-first -and fixes its claims before computing, so a contributor commits the questions before the data. +and fixes its claims before computing, so a contributor commits the questions before the data. Verified +open datasets each line could start on today, with the runnable-now ones flagged, are in +[`org_frontier/research/DATA_SOURCES.md`](org_frontier/research/DATA_SOURCES.md); the open threads with +a status column are in [`OPEN_QUESTIONS.md`](OPEN_QUESTIONS.md). - **Field — one real arrangement, modeled to a Φ verdict.** No real worker, platform, or message has been measured. The [field protocol](org_frontier/field/PROTOCOL.md) needs one real coordination — a @@ -653,14 +656,16 @@ Each question fixes five hypotheses, runs them against the exact-Φ instrument, Requires Python ≥ 3.10 and PyPhi's IIT-4.0 line. `requirements.txt` pins `wmayner/pyphi` `feature/iit-4.0` at `b78d0e342d37175cbd55cf35a6d52ae035b4c50f` (`1.2.1.dev1470+gb78d0e342`, 26 December 2025), the build `ci/reproduce.py` runs through `pyphi.Network`, `pyphi.Subsystem`, and `pyphi.new_big_phi`. Ternary and mixed-radix forms use the overlay `third_party/pyphi_iit4_mv`, also on `rogerSuperBuilderAlpha/pyphi@feat/multivalued-iit4-radix-k` (`3d96339a`). Upstream PyPhi 2.0 is `wmayner/pyphi` `main` at `134a8f31` (16 October 2026; tag `v2.0.0rc4`, version line `2.0.0rc5.dev0`): `Substrate` / `System` / `analyze`, with `pyphi.iit4_2023()` reproducing the pinned controls and `pyphi.iit4_2026()` the Mayner, Marshall, and Tononi (2026) default. ```bash -python -m venv venv && source venv/bin/activate -pip install -r requirements.txt +python3 --version # 3.10+ needed; a stock python3 is often 3.9 +python3.12 -m venv venv && source venv/bin/activate # any 3.10+ interpreter, named explicitly +pip install -r requirements.txt # pulls PyPhi + phyid from git: needs network +python -m org_frontier.classifier.validate # must print "Instrument validated" ``` Run an org_frontier probe, or a foundations experiment, from the repo root: ```bash -python -m org_frontier.probes.probe_conjunctive_law # a lab probe +python -m org_frontier.probes.probe_control # a lab probe (Probe 7, about two seconds) python -m foundations.proxy_audit.run 15 1 && python -m foundations.proxy_audit.analyze ``` @@ -714,5 +719,9 @@ Three files serve agents, by purpose: Nested `AGENTS.md` files cover the subtrees with their own workflow. - **[`MAP.md`](MAP.md)** — a generated one-screen index of the entry documents, programs, machinery, and live counts. Load it instead of crawling the tree. +- **[`catalog.json`](catalog.json)** — a generated, machine-readable index of every question, probe, study, + and open thread, with one-line findings and reproduce commands. `python tools/build_catalog.py --find + ""` places a newcomer's question against it; [`OPEN_QUESTIONS.md`](OPEN_QUESTIONS.md) is the + registry of what is waiting for someone. - **[`llms.txt`](llms.txt)** — a token-light brief for *describing* the project to outside users: a canonical summary safe to copy into memory, framing rules, and links to the key documents. diff --git a/START_HERE.md b/START_HERE.md index efd81c1c..08f307bd 100644 --- a/START_HERE.md +++ b/START_HERE.md @@ -47,11 +47,15 @@ Route on their answer: - **(a) core idea** → Phase 2, then the *Three-as-one* question below. - **(b) real organizations** → the *Relay vs. decision* or *Dispensable boss* questions; arms live in [`org_frontier/field/`](org_frontier/field/) and [`org_frontier/qualitative/`](org_frontier/qualitative/). + If they can bring a real site, the packet is [`org_frontier/field/packets/gig_dispatch/`](org_frontier/field/packets/gig_dispatch/). - **(c) behavior / data** → the *Cheap proxy* question; arm is [`org_frontier/recurrence/`](org_frontier/recurrence/). -- **(d) measuring people** → [`org_frontier/survey/`](org_frontier/survey/), the three-wave panel. -- **(e) find something new** → skip to Phase 4 with an open thread from - [`OVERVIEW.md`](OVERVIEW.md#where-you-could-contribute). The written agendas are answered through - [`RESEARCH_AGENDA_V4.md`](org_frontier/RESEARCH_AGENDA_V4.md). V4 item 11 is `GRADED_HOLDS` and V4 item 12 is `M3_FLIPS_VERDICT`. + Verified open datasets they can download today are in + [`org_frontier/research/DATA_SOURCES.md`](org_frontier/research/DATA_SOURCES.md). +- **(d) measuring people** → [`org_frontier/survey/`](org_frontier/survey/), the three-wave panel; the + open cohort datasets are in [`DATA_SOURCES.md`](org_frontier/research/DATA_SOURCES.md) too. +- **(e) find something new** → Phase 2 and Phase 3 first (they still need a validated instrument), then + Phase 3.5 with their own question, or an open row from [`OPEN_QUESTIONS.md`](OPEN_QUESTIONS.md). The + written agendas are all answered; that file is what is still open. Whatever they pick, get them to **run something** before explaining more (Phase 3). @@ -75,12 +79,17 @@ While it installs, ask which question from the bank below caught their eye. python -m org_frontier.classifier.validate ``` -**Then run a real probe** — one script, one hypothesis, one verdict: +**Then run a real probe** — one script, one hypothesis, one verdict, about two seconds: ```bash -python -m org_frontier.probes.probe_conjunctive_law +python -m org_frontier.probes.probe_control ``` +That is Probe 7: the thesis's own clause, "determinations neither party controls." A mediator that +follows one party alone reads dyadic; mutual veto and either-forces both read triadic. (The scaling-law +probe, `probe_conjunctive_law`, computes exact Φ to seven nodes and takes about nine minutes; offer it +later, not here.) + **Then make them flip a verdict themselves.** This is the moment the idea lands. Have them paste this into a Python shell (`python`, from the repo root, venv active): @@ -102,22 +111,52 @@ print(verdict(rules, ("W", "S", "C")).structure) # -> dyadic One character changed the structure from irreducible to factorable. That is the whole thesis in their own hands. Now ask: *what would you want to test next?* +## Phase 3.5 — place their question before scaffolding it + +When they state a question, do not scaffold it yet. The lab has already asked a great many, and the +protocol's first stage is to place a new question against them. Run the catalog search with the +question's keywords: + +```bash +python tools/build_catalog.py --find "majority quorum mediator" +``` + +It prints the nearest prior questions, probes, studies, and open threads from `catalog.json`, with the +one-line finding and the reproduce command for each. Read the closest rows with them and say which of +three things their question is: + +- **Answered.** A row already gives the verdict. Show them the number, offer the reproduce command, and + ask what the result makes them want to test next. A result to cite is a result to stress. +- **Adjacent.** A row answers a neighbor. The contribution is the residual: the same question on weighted + or noisy forms, at another size, under another update schedule. Scaffold that, citing the row. +- **Open.** Nothing close. Scaffold it (Phase 4). If it needs real data rather than a computation, route + it to the matching handoff packet in [`org_frontier/HANDOFF_PACKETS.md`](org_frontier/HANDOFF_PACKETS.md) + and the datasets in [`DATA_SOURCES.md`](org_frontier/research/DATA_SOURCES.md). + +If they have no question of their own, [`OPEN_QUESTIONS.md`](OPEN_QUESTIONS.md) is the registry of what +is waiting for someone, with what each thread needs (`compute`, `data`, `tooling`, `review`) and its first +command. Offer the `compute` rows to someone at a keyboard today and the `data` rows to someone who can +bring a series, a cohort, or a site. When they take one, they set its status to `claimed` in the same +pull request as their scaffold. + ## Phase 4 — turn curiosity into a contribution -When they have a question of their own (or pick one from the agenda), scaffold it: +When they have a placed question (Phase 3.5), scaffold it: ```bash python -m org_frontier.protocol.new_question --slug your_slug \ --question "Your one-line research question" ``` -This creates `org_frontier/questions/q_/` from the template. The one rule that makes the record -credible: **commit `hypotheses.md` before computing the results** — the git history is the evidence the -claims were fixed first. From here, hand them to [`GETTING_STARTED.md`](GETTING_STARTED.md) for the full -path from scaffold → register numbers in `ci/reproduce.json` → pull request into `contrib`. +This creates `org_frontier/questions/q_/` from the template, with `probe_.py`, `results/`, +and `literature/` ready. The one rule that makes the record credible: **commit `hypotheses.md` before +computing the results** — the git history is the evidence the claims were fixed first +(`python ci/precommit_audit.py origin/contrib..HEAD` checks the order on a branch). From here, hand them +to [`GETTING_STARTED.md`](GETTING_STARTED.md) for the full path from scaffold → register numbers in +`ci/reproduce.json` → pull request into `contrib`. -If they would rather stress an *existing* result than open a new question, point them at the "Stress a -standing result" and "Settle a construct question" threads in [`OVERVIEW.md`](OVERVIEW.md#where-you-could-contribute). +If they would rather stress an *existing* result than open a new question, the `compute` rows of +[`OPEN_QUESTIONS.md`](OPEN_QUESTIONS.md) are exactly that. --- @@ -128,12 +167,13 @@ answer in Phase 1; don't list all of them. | Hook (ask it like this) | Where it lives | First command | |---|---|---| -| **Three-as-one.** Can three people be *more* than the sum of their pairs — and can you prove it with a number? | `org_frontier/probes/probe_conjunctive_law.py` | `python -m org_frontier.probes.probe_conjunctive_law` | +| **Who decides?** If the system between two people follows one of them alone, is there still a triad? | `org_frontier/probes/probe_control.py` | `python -m org_frontier.probes.probe_control` (2 s) | +| **Three-as-one.** Can three people be *more* than the sum of their pairs — and can you prove it with a number? | `org_frontier/probes/probe_conjunctive_law.py` | `python -m org_frontier.probes.probe_conjunctive_law` (about 9 min; Φ = n−1 to seven nodes) | | **Relay vs. decision.** Is a manager who only *relays* messages structurally different from one who makes the *binding call*? | `org_frontier/classifier/` | the `verdict()` snippet in Phase 3 — make the mediator commit vs. convey | | **The fourth party.** Does adding one more person flip the verdict, or does the irreducible core stay put? | `org_frontier/multiparty/` | read its README, then scaffold a 4-node form | | **The dispensable boss.** Does the corporate principal actually belong to the irreducible core, or can you cut them out? | `org_frontier/principal/` | read its README and `major_complex()` | | **Cheap proxy.** Can a simple behavioral time-series recover the same verdict exact Φ gives — for free? | `org_frontier/recurrence/` | `org_frontier/recurrence/bridge_demo.py` | -| **Find something new.** Pick an open thread — a real field case, weighted quorums — and run it through the protocol. | [`OVERVIEW.md`](OVERVIEW.md#where-you-could-contribute) | `python -m org_frontier.protocol.new_question` | +| **Find something new.** Pick an open thread — weighted quorums, a real field case, a real series — and run it through the protocol. | [`OPEN_QUESTIONS.md`](OPEN_QUESTIONS.md) | `python tools/build_catalog.py --find ""`, then `python -m org_frontier.protocol.new_question` | ## A transcript to imitate @@ -182,15 +222,30 @@ This is the shape of a good first exchange. Short turns, one question at a time, > **Assistant:** That's the whole thesis in your hands: one dependency removed, and an irreducible trio > collapsed into separable pairs. So here's the interesting question — what kind of mediator *keeps* a > team irreducible, and what kind lets it fall apart? Want to test a case you have in mind, or pick an -> open thread from `OVERVIEW.md` and run it through the protocol? +> open thread from `OPEN_QUESTIONS.md` and run it through the protocol? +> +> **Newcomer:** a case of mine — does a majority vote among three people bind all three? +> +> **Assistant:** Let's see whether the lab has asked that. Run +> `python tools/build_catalog.py --find "majority vote three parties bind"` and paste what it prints. +> +> **Newcomer:** top rows are probe #10, "majority (2-of-3) factors entirely → dyadic", and open thread O01, +> weighted or noisy quorums. +> +> **Assistant:** So the clean majority is answered: it factors. The open residual is yours — does the +> verdict survive when the votes are weighted or noisy? That is O01. Shall we scaffold it as your question +> and mark O01 claimed? Notice what the assistant never did: paste the architecture, list every directory, or explain IIT theory. -It got the newcomer to a computed verdict and a question of their own in a handful of turns. +It got the newcomer to a computed verdict, placed their question against the catalog, and routed them to +an open thread in a handful of turns. ## What the assistant must keep honest - **Validate the instrument first.** Every probe re-runs the control gate; a verdict before `Instrument validated` means nothing. +- **Place before you scaffold.** Run the catalog search on their question (Phase 3.5) before creating a + directory. A question the lab has answered is a result to cite or stress, not a new study. - **State the scope.** Results are in-silico: exact Φ on small Boolean models, evidence about the models, not measurements of a real firm. Never present one as an empirical claim. - **Report nulls.** About a third of the lab's results are nulls or refutations. A negative answer to the diff --git a/llms.txt b/llms.txt index dcfc2505..c7ac6341 100644 --- a/llms.txt +++ b/llms.txt @@ -64,6 +64,8 @@ Canonical URL: https://github.com/rogerSuperBuilderAlpha/algorithmacy-lab ## Key documents +- [START_HERE.md](https://github.com/rogerSuperBuilderAlpha/algorithmacy-lab/blob/main/START_HERE.md): the guided onboarding an assistant runs for a newcomer — from "what is this?" to a computed verdict, then placing their own question against the catalog and routing it to an open thread. +- [OPEN_QUESTIONS.md](https://github.com/rogerSuperBuilderAlpha/algorithmacy-lab/blob/main/OPEN_QUESTIONS.md): the registry of open threads with a status column and what each needs (compute, data, tooling, review). - [NOW.md](https://github.com/rogerSuperBuilderAlpha/algorithmacy-lab/blob/main/NOW.md): this week's live deadlines and canonical drafts. Writing arms are under `submissions/`. - [README](https://github.com/rogerSuperBuilderAlpha/algorithmacy-lab/blob/main/README.md): what the lab is, the thesis, setup, layout. - [The method essay](https://github.com/rogerSuperBuilderAlpha/algorithmacy-lab/blob/main/org_frontier/essays/studying_algorithmacy.md): how the lab studies algorithmacy — the instrument, the discipline, what it has found and cannot do. diff --git a/org_frontier/README.md b/org_frontier/README.md index e1ae07e3..d42e1bc0 100644 --- a/org_frontier/README.md +++ b/org_frontier/README.md @@ -56,8 +56,9 @@ as first-class results. ## The logbook and programs -- [`probes/PROBES.md`](probes/PROBES.md) — 134 exact-Φ experiments, each with question, hypothesis, - method, and result. About a third are nulls or refinements. +- [`probes/PROBES.md`](probes/PROBES.md) — the exact-Φ probe log, each row a question, hypothesis, + method, and result (live count in [`../MAP.md`](../MAP.md); searchable through `../catalog.json`). About a + third are nulls or refinements. - [`RESEARCH_PROGRAM_V2.md`](RESEARCH_PROGRAM_V2.md) … [`RESEARCH_PROGRAM_V7.md`](RESEARCH_PROGRAM_V7.md) — the iterative programs, each closing a wave and opening the next. V2–V6 produced the computational logbook; [v7](RESEARCH_PROGRAM_V7.md) broadened the lab beyond the single computational line, adding the @@ -65,7 +66,8 @@ as first-class results. - [`STRUCTURAL_FINDINGS.md`](STRUCTURAL_FINDINGS.md) — the synthesis: a coordination form demands algorithmacy when every party is bound into one irreducible joint determination. Substitutability collapses it; mediation depth does not; cheap proxies cannot detect it. -- [`RESEARCH_AGENDA_50_V2.md`](RESEARCH_AGENDA_50_V2.md) — 50 open questions queued for the pipeline. +- [`RESEARCH_AGENDA_50_V2.md`](RESEARCH_AGENDA_50_V2.md) — the fifty-question agenda, now answered; what is + still open is [`../OPEN_QUESTIONS.md`](../OPEN_QUESTIONS.md). - [`RESEARCH_NARRATIVE.md`](RESEARCH_NARRATIVE.md) — how the program has progressed through Q73 (instrument → seam thread → outreach law → self-audit) and the path forward. - [`RESEARCH_AGENDA_Q74.md`](RESEARCH_AGENDA_Q74.md) — the runnable next questions (Q74+) derived from the From a1a10a348e49d56264b5af9121f150a2fde9e769 Mon Sep 17 00:00:00 2001 From: Ludwitt Date: Tue, 27 Oct 2026 08:24:52 -0400 Subject: [PATCH 5/5] harness: exact probe-check matching, Windows-safe --find, add-only audit, fork recipe MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - build_catalog: match a probe's checks on the exact module after `-m` instead of a substring, so #67 probe_voting no longer takes probe_voting_robustness's reproduce command; regenerate catalog.json. - build_catalog: guard the SIGPIPE handler with hasattr (absent on Windows). - precommit_audit: list only added files (--diff-filter=A), as the docstring says, and count `results/` directories at any depth. - GETTING_STARTED §8: `gh repo fork --clone` already adds `upstream`; drop the redundant remote add and cd into the clone. Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01H7XkmoHkqsYk7uTDpv8hp8 --- GETTING_STARTED.md | 2 +- catalog.json | 4 ++-- ci/precommit_audit.py | 12 +++++++++--- tools/build_catalog.py | 11 +++++++++-- 4 files changed, 21 insertions(+), 8 deletions(-) diff --git a/GETTING_STARTED.md b/GETTING_STARTED.md index 1600a4bc..e3b2cba6 100644 --- a/GETTING_STARTED.md +++ b/GETTING_STARTED.md @@ -176,7 +176,7 @@ Working from a fork, add this repository as `upstream` once, then branch off its ```bash gh repo fork rogerSuperBuilderAlpha/algorithmacy-lab --clone # or fork on GitHub and clone yours -git remote add upstream https://github.com/rogerSuperBuilderAlpha/algorithmacy-lab.git +cd algorithmacy-lab # --clone already adds `upstream`; a hand-made clone needs `git remote add upstream https://github.com/rogerSuperBuilderAlpha/algorithmacy-lab.git` git fetch upstream contrib git checkout -b study/your-slug upstream/contrib git add && git commit -m "..." # hypotheses committed before results diff --git a/catalog.json b/catalog.json index e34aeb0d..06a4e6af 100644 --- a/catalog.json +++ b/catalog.json @@ -4344,9 +4344,9 @@ "result": "Unanimity (AND) and any-suffices (OR) bind all members (triadic, Φ=3.0); majority (2-of-3) factors to dyadic (no member pivotal); veto reduces to the vetoer (dyadic, core {W}); parity binds weakly (Φ=0.25). A majority-rule body is structurally not an irreducible collective. probe_voting.py", "path": "org_frontier/probes/probe_voting.py", "reproduce": [ - "python -m org_frontier.probes.probe_voting_robustness" + "python -m org_frontier.probes.probe_voting" ], - "runtime": "fast" + "runtime": "unregistered" }, { "kind": "probe", diff --git a/ci/precommit_audit.py b/ci/precommit_audit.py index 61523162..651fa896 100644 --- a/ci/precommit_audit.py +++ b/ci/precommit_audit.py @@ -24,10 +24,16 @@ RESULT_MARKERS = ("FINDINGS.md", "results/") +def _is_result(rest: str) -> bool: + """`FINDINGS.md`, or anything under a `results/` directory at any depth of the question dir.""" + return rest.startswith(RESULT_MARKERS) or "/results/" in rest + + def _commits(rng: str) -> list: - """Commits in the range, oldest first, with the files each one adds or changes.""" + """Commits in the range, oldest first, with the files each one adds.""" out = subprocess.run( - ["git", "log", "--reverse", "--format=%H %ad", "--date=short", "--name-only", rng], + ["git", "log", "--reverse", "--format=%H %ad", "--date=short", "--name-only", + "--diff-filter=A", rng], capture_output=True, text=True, check=True, ).stdout commits, cur = [], None @@ -60,7 +66,7 @@ def audit(rng: str) -> list: rest = "/".join(parts[i + 2:]) if rest == "hypotheses.md" and d not in first_hyp: first_hyp[d] = c - if rest.startswith(RESULT_MARKERS) and d not in first_res: + if _is_result(rest) and d not in first_res: first_res[d] = c rows = [] for d in sorted(set(first_hyp) | set(first_res)): diff --git a/tools/build_catalog.py b/tools/build_catalog.py index cc3834ea..d16bc2c7 100644 --- a/tools/build_catalog.py +++ b/tools/build_catalog.py @@ -122,6 +122,12 @@ def _questions(by_dir: dict) -> list: return rows +def _cmd_module(cmd: str) -> str: + """The module token after `-m` in a check command, or "" if there is none.""" + m = re.search(r"(?:^|\s)-m\s+(\S+)", cmd) + return m.group(1) if m else "" + + def _probes(by_dir: dict) -> list: """Every `| n | concept | hypothesis | verdict | result |` row of PROBES.md, by number.""" rows = {} @@ -141,7 +147,7 @@ def _probes(by_dir: dict) -> list: num = int(m.group(1)) script = re.search(r"`(probe_[a-z0-9_]+)\.py`", cells[-1]) module = f"org_frontier.probes.{script.group(1)}" if script else "" - checks = [c for c in probe_checks if module and module in c["cmd"]] + checks = [c for c in probe_checks if module and _cmd_module(c["cmd"]) == module] rows[num] = { "kind": "probe", "id": f"#{num}", @@ -293,7 +299,8 @@ def main() -> int: args = ap.parse_args() if args.find: - signal.signal(signal.SIGPIPE, signal.SIG_DFL) # `| head` must not traceback + if hasattr(signal, "SIGPIPE"): # absent on Windows + signal.signal(signal.SIGPIPE, signal.SIG_DFL) # `| head` must not traceback _print_find(args.find, build()) return 0