Skip to content

feat: Add runnable MVP experiments for Q107, Q109, and Q125#132

Open
Zaious wants to merge 3 commits intoonestardao:mainfrom
Zaious:feature/s-class-mvp-experiments
Open

feat: Add runnable MVP experiments for Q107, Q109, and Q125#132
Zaious wants to merge 3 commits intoonestardao:mainfrom
Zaious:feature/s-class-mvp-experiments

Conversation

@Zaious
Copy link
Copy Markdown
Contributor

@Zaious Zaious commented Mar 9, 2026

(Note: Infrastructure adapters to support WFGY semantic monitoring across frameworks were submitted recently in my related PR -> #131 )

Summary

This PR contributes runnable MVP experiment notebooks and architectural blueprints for three S-Class Tension Universe problems (Q107, Q109, Q125). The experiments are located strictly within TensionUniverse/Experiments/ and employ standalone SIMULATION_MODEL.md / DATA_SOURCE.md files to clearly expose the mathematical bounds and APIs (e.g., World Bank Open Data) used. This matters because it provides concrete, reproducible toy models that translate WFGY abstracts into inspectable Python logic, expanding the verifiable TU ecosystem.


What this PR changes

Check all that apply.

  • Documentation wording or structure
  • Navigation or routing improvement
  • Recognition or public proof update
  • Adopters / Case Evidence / Evidence Timeline update
  • Collaboration or pilot-related page
  • Template or contribution workflow
  • Metadata or repository structure
  • Bug fix
  • Other: Tension Universe MVP Experiments

Affected surfaces

List the main files or pages touched by this PR.

  • TensionUniverse/Contribute/open-experiments.md
  • TensionUniverse/Experiments/Q107_MVP/ (Notebook & Docs)
  • TensionUniverse/Experiments/Q109_MVP/ (Notebook & Docs)
  • TensionUniverse/Experiments/Q125_MVP/ (Notebook & Docs)

Why this matters

Explain why this change is useful.

  • Expands the TU Laboratory: Transforms theoretical questions (e.g., Role Drift, Migration Tension) into transparent, one-cell runnable demonstrations.
  • Documentation Decoupling: Implements a strong separation of concerns (Code vs. SIMULATION_MODEL) strictly according to TensionUniverse/Contribute/README.md standards.

Linked issue

If this PR is related to an issue, link it here.


Public proof or evidence

Not applicable.


Screenshots or render checks

Not applicable.


Non-claims and boundaries

State anything this PR does not prove or should not be read as proving.

  • These MVPs do not claim that any full S-problem (like Q125 or Q109) has been scientifically resolved.
  • These are isolated, effective-layer toy models designed to probe tension ($\Delta S$) within bounded environments, they do not prove generalisation to arbitrary LLM distributions.

Checklist

  • I reviewed the changed text for clarity and consistency
  • I checked links, filenames, and page references
  • I kept claims conservative and evidence-based
  • If this PR adds public proof, I included a stable public source
  • If this PR affects routing, I checked whether the destination pages are correct
  • I avoided overstating adoption, deployment, or collaboration status
  • I updated related pages when necessary, or intentionally left them unchanged

@Zaious Zaious requested a review from onestardao as a code owner March 9, 2026 21:27
Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: caee4bd627

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

"results = [(name, flow, delta_s(flow, G_anchor), zone_label(delta_s(flow, G_anchor))) for name, flow, _ in records]\n",
"results.sort(key=lambda x: x[2], reverse=True)\n",
"\n",
"print(f'{'Country':<35} {'Net Migration':>16} {'ΔS':>6} {'Zone'}')\n",
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Fix invalid f-string in table header print

This header line is a syntax error (f-string: expecting '}') because the outer single-quoted f-string immediately conflicts with the inner single-quoted string literals. As soon as this cell is executed, the notebook stops at parse time, so the Q109 MVP cannot run despite being documented as runnable.

Useful? React with 👍 / 👎.

Comment on lines +35 to +36
"WB_URL = ('https://api.worldbank.org/v2/country/all/indicator/SM.POP.NETM'\n",
" '?format=json&mrv=1&per_page=50')\n",
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Request full country set from the API

The URL hard-codes per_page=50, so the experiment computes G_anchor, rankings, and zone counts from only a partial first page rather than the full country population described in the notebook text. This skews the global median and downstream ΔS classifications, producing systematically incomplete results for the migration-tension analysis.

Useful? React with 👍 / 👎.

…109 notebook

P1: Replace invalid f-string (single-quote collision) with str.format()
P2: Change per_page=50 to per_page=300 to fetch all ~190 countries
Update coverage description to reflect full dataset

Addresses Codex automated review feedback
Copy link
Copy Markdown

@MontaEllis8 MontaEllis8 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ Code Review 通过

MVP 实验添加,代码结构清晰。

建议合并。

@onestardao
Copy link
Copy Markdown
Owner

Thanks a lot for the PR. I really appreciate the effort here. Overall this is very good work, and I think the MVP direction is strong.

I only want to ask for a few very small fixes before merge:

  1. Please update the README wording so it matches the current notebook/file names and does not read like unfinished template text.
  2. For Q109, please make the data wording a bit more precise based on the current implementation.
  3. For Q125, please add a small note to clarify the current ΔS display/range behavior.
  4. Please remove the hidden / bidirectional Unicode characters in the new files.

These should all be small edits only. I am not asking for major changes. Once these little parts are cleaned up, it should be in a much better place. The rest I can handle on my side later.

Thanks again. Really nice contribution.

…ange note

Q107: Replace Q107_A/B.ipynb references with Q107_collective_action_demo.ipynb.
      Rewrite setup sections from future-tense template to accurate present-tense.

Q109: Correct data source attribution (World Bank API, not UN/IOM/OECD).
      Update ΔS zone list to four zones: SAFE, TRANSITIONAL, RISK, DANGER
      with explicit threshold values.

Q125: Replace Q125_A/B.ipynb references with Q125_multi_agent_dynamics_demo.ipynb.
      Rewrite setup sections to present-tense. Add ΔS display/range note
      explaining 0-1 scale and SAFE/RISK/DANGER thresholds.

Addresses maintainer review feedback.
@Zaious
Copy link
Copy Markdown
Contributor Author

Zaious commented Mar 11, 2026

Thanks for the detailed feedback! All four points have been addressed:

README files now reference the actual notebook filenames and use present-tense wording throughout.
Q109 data wording corrected to reflect the World Bank API implementation specifically, with all four ΔS zones listed with explicit thresholds.
Q125 has a new ΔS display note clarifying the 0–1 scale and current zone boundaries.
All new files were scanned and confirmed clean of hidden / bidirectional Unicode characters.
Let me know if anything else needs adjusting before merge. Thanks again for the careful review!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants