ASSEMBLY-WP-0017-T01: sentiment reference sig_ref (BR-009 resolved); calibrated pipeline re-run; matching loop weights ≈ 0.5
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Assistant: claude-code Assistant-Model: opus Assistant-Process: 14913@bnt-lap001 Assistant-Session: add7ef69-b901-4756-9a67-34cf1125d96f
This commit is contained in:
parent
3b85440a17
commit
65584be429
12 changed files with 111 additions and 69 deletions
|
|
@ -156,6 +156,12 @@ peak (0.40 at year 10).
|
|||
this loop, "lagging" is not worse in the long run. This depends on the
|
||||
closed-economy assumption (§ 2.4, reading 2).
|
||||
|
||||
**Update 2026-10-13 (BR-009):** the loop as specified here relaxes Σ toward
|
||||
the neutral 0.5. The uncalibrated results in this section keep that default.
|
||||
Calibrated runs anchor Σ at its measured level (`sig_ref`,
|
||||
`models/Calibration.md`), so measured low sentiment does not pull toward 0.5
|
||||
and does not brake adoption by its level alone.
|
||||
|
||||
### 3.4 Limitations
|
||||
|
||||
- Σ is a single national mood. There is no polarization, no split by cohort
|
||||
|
|
|
|||
|
|
@ -198,6 +198,11 @@ output levels are normalized and not comparable across jurisdictions.
|
|||
| EU − US relative output, years 0–25 | −0.03 to −0.24 (largest when the frontier accelerates) | −0.04 to +0.08 |
|
||||
| EU − US VFAC at t 100 | +0.03 to +0.05, except open-lineage world −0.02 | +0.01 to +0.02, except open-lineage world −0.02 |
|
||||
|
||||
After the BR-009 fix (sentiment anchored at measured levels), the verdicts
|
||||
stay the same. With the loop on, EU and US adoption at t 10 are now equal in
|
||||
X1 and X4 (0.27 / 0.26–0.27), and in X2 and X3 the US leads (0.44). The
|
||||
relative-output differences with the loop on become −0.09 to +0.05.
|
||||
|
||||
Reading: Europe lags in adoption **only if sentiment does not matter**. With
|
||||
the measured sentiment levels (US Σ 0.29, EU 0.54) and the legitimacy loop,
|
||||
US adoption brakes and the EU no longer lags. Lagging costs output early,
|
||||
|
|
|
|||
|
|
@ -21,4 +21,4 @@ that part of the band.
|
|||
| BR-006 | 2026-10-13 (WP-0013-T04) | Legitimacy loop damps adoption (BR-005, AdoptionBand § 3.3) | damping under extractive regimes → amplifying under rights-first levers from the calibrated start (US, AR) | when adoption lowers domination, perceived benefit rises and sentiment accelerates adoption | none structural; the reading is regime-dependent | open: state the loop's effect per regime |
|
||||
| BR-007 | 2026-10-13 (WP-0013-T04) | Rights-first levers bound domination | holds when switching to J1 levers (US: P 0.64 → 0.54) → fails for a jurisdiction already at J1 levers (EU: P 0.65 → 0.77) | calibrated domination comes from levels set abroad that local levers cannot reach | **structural:** cross-border coupling (ASSEMBLY-WP-0011) | open |
|
||||
| BR-008 | 2026-10-13 (WP-0011-T05) | Which levers bound domination (BR-007 follow-up) | closed model: host rights levers → coupled model: only host access rules on foreign operators and the home's levers reach the foreign-run channels | measured channels (Pd, Pmem, Plin, Pi) are operated from the US for EU and AR hosts | **structural, implemented:** cross-border coupling (`world.py`); observed DMA effect on search ≈ 0 (at most a 0.006/yr) | open: lineage access rules (BR-003) |
|
||||
| BR-009 | 2026-10-13 (WP-0012) | Sentiment dynamics of the legitimacy loop | Σ relaxes toward 0.5 + gain × Δ(perceived benefit), so from the measured US Σ 0.285 it rises → measured US sentiment fell 2021–2026 (0.405 → 0.285) while adoption grew fast | the neutral reference 0.5 is an assumption; US adoption also shows no braking by low sentiment (all loop-on candidates fail the US match) | **structural candidate:** sentiment reference anchored to the observed level and a small or lagged adoption elasticity | open: ASSEMBLY-WP-0017 |
|
||||
| BR-009 | 2026-10-13 (WP-0012) | Sentiment dynamics of the legitimacy loop | Σ relaxes toward 0.5 + gain × Δ(perceived benefit), so from the measured US Σ 0.285 it rises → measured US sentiment fell 2021–2026 (0.405 → 0.285) while adoption grew fast | the neutral reference 0.5 is an assumption; US adoption also shows no braking by low sentiment (all loop-on candidates fail the US match) | **resolved 2026-10-13 (WP-0017-T01):** parameter `sig_ref`; calibrated runs anchor Σ at its measured level, and adoption and legislation respond to changes relative to it. Default (None = 0.5) keeps earlier results. R1–R4 and H1/H2 verdicts unchanged; the matching loop weights become ≈ 0.5 | resolved; `sig_adopt` not yet identified |
|
||||
|
|
|
|||
|
|
@ -30,20 +30,26 @@ points after checkpoint 0.
|
|||
|
||||
| Jurisdiction | Data | Anchor weights | Loop weights | Best |
|
||||
|---|---|---|---|---|
|
||||
| US | BTOS, 23 biweekly points 2025–2026 | B1 0.00 · B2 0.38 · B3 0.44 · B4 0.18 | off 1.00 · on 0.00 | B3 / loop off (0.44) |
|
||||
| EU | Eurostat 2023–2025 | B1 0.00 · B2 0.38 · B3 0.62 · B4 0.00 | off 0.47 · on 0.53 | B3 / loop off (0.46) |
|
||||
| DE | Eurostat 2023–2025 | B1 0.00 · B2 0.73 · B3 0.27 · B4 0.00 | off 0.33 · on 0.67 | B2 / loop on (0.57) |
|
||||
| US | BTOS, 23 biweekly points 2025–2026 | B1 0.00 · B2 0.38 · B3 0.40 · B4 0.21 | off 0.52 · on 0.48 | B3 / loop off (0.23) |
|
||||
| EU | Eurostat 2023–2025 | B1 0.00 · B2 0.03 · B3 0.96 · B4 0.01 | off 0.48 · on 0.52 | B3 / loop on (0.50) |
|
||||
| DE | Eurostat 2023–2025 | B1 0.00 · B2 0.44 · B3 0.56 · B4 0.00 | off 0.49 · on 0.51 | B3 / loop on (0.29) |
|
||||
|
||||
Weights after the BR-009 fix (sentiment anchored at its measured level,
|
||||
WP-0017-T01). Before the fix: US B3 0.44 / B2 0.38 with loop off 1.00; EU B3
|
||||
0.62; DE B2 0.73.
|
||||
|
||||
Readings:
|
||||
|
||||
1. **The data rule out B1 everywhere, and B4 for the EU and DE.** The present
|
||||
is B2–B3, consistent with the calibration (`models/Calibration.md` § 3).
|
||||
2. **US adoption is not braked by its low sentiment.** Every loop-on
|
||||
candidate fails for the US, because with measured US sentiment (Σ 0.285)
|
||||
the loop slows adoption far below the observed growth. Either adoption's
|
||||
elasticity to sentiment (`sig_adopt`) is much smaller than 1, or
|
||||
sentiment acts on adoption with a long lag. This is the first data-based
|
||||
constraint on the legitimacy loop.
|
||||
2. **The adoption data cannot yet tell the loop on from off.** Before the
|
||||
BR-009 fix, every US loop-on candidate failed. The neutral reference made
|
||||
the measured low sentiment (Σ 0.285) brake adoption from the first day.
|
||||
With sentiment anchored at its measured level, today's level is part of
|
||||
the fitted speed, and only *changes* in sentiment act. The loop weights are
|
||||
then about 0.5 everywhere. The loop becomes identifiable with sentiment
|
||||
observations after checkpoint 0. `sig_adopt` stays at 1 and is not yet
|
||||
identified.
|
||||
3. **No regime is established yet.** No candidate reaches weight 0.75.
|
||||
Predictions v1 (P-2026-001 … 004) assume growth alignment between B2 and
|
||||
B3, which the matched weights bracket. No predictions v2 are needed (T04).
|
||||
|
|
|
|||
|
|
@ -88,6 +88,7 @@ def start_state(jur: str, anchor: str, auto: float | None = None) -> tuple[dict,
|
|||
s["E"] = centre(t["E"])
|
||||
if "Sig" in t:
|
||||
s["Sig"] = s["Lg"] = centre(t["Sig"])
|
||||
p["sig_ref"] = s["Sig"] # BR-009: sentiment anchored at its measured level
|
||||
for _ in range(2):
|
||||
if "B" in t: # base labour share so that B(t0) is on target
|
||||
c = p["dshare"] + p["cp"]
|
||||
|
|
|
|||
|
|
@ -83,6 +83,11 @@ PARAMS.update({
|
|||
"leg_m": 0.5, # membrane rights tightening per unit of stance below neutral
|
||||
"leg_expl": 0.5, # explainability tightening per unit of stance below neutral
|
||||
"sig_pb0": None, # reference perceived benefit; None = value at the initial state
|
||||
# WP-0017-T01 (BR-009): sentiment reference level. None = neutral 0.5 (GADM-0.4 as
|
||||
# first specified). A number (calibrated runs: the measured Sigma) is the level Sigma
|
||||
# relaxes to when perceived benefit is unchanged; adoption and legislation then respond
|
||||
# to Sigma and Lg relative to it, because today's level is already in the fitted speed.
|
||||
"sig_ref": None,
|
||||
# WP-0009-T04: deployment permissiveness of a jurisdiction; scales the organism
|
||||
# inflow (investment, learning, seeding) like the legislative stance. 1 = neutral.
|
||||
"perm": 1.0,
|
||||
|
|
@ -131,7 +136,8 @@ def legislated(s: dict, p: dict) -> dict:
|
|||
"""Parameters with legislation levers shifted by the legislative stance Lg."""
|
||||
if not p["sent"]:
|
||||
return p
|
||||
gap = 0.5 - s["Lg"] # > 0: tightening after negative sentiment
|
||||
ref = 0.5 if p["sig_ref"] is None else p["sig_ref"]
|
||||
gap = ref - s["Lg"] # > 0: tightening after negative sentiment
|
||||
clip = lambda v: min(1.0, max(0.0, v)) # noqa: E731
|
||||
return {**p, "m": clip(p["m"] + p["leg_m"] * gap), "expl": clip(p["expl"] + p["leg_expl"] * gap)}
|
||||
|
||||
|
|
@ -158,14 +164,15 @@ def derivatives(s: dict, p: dict) -> tuple[dict, dict]:
|
|||
# permissiveness, sentiment and stance scale the organism inflow, not its depreciation
|
||||
scale = p["perm"]
|
||||
if p["sent"]:
|
||||
scale *= max(0.0, 1 + p["sig_adopt"] * 2 * (s["Sig"] - 0.5)) \
|
||||
* max(0.0, 1 + p["leg_perm"] * 2 * (s["Lg"] - 0.5))
|
||||
ref = 0.5 if p["sig_ref"] is None else p["sig_ref"]
|
||||
scale *= max(0.0, 1 + p["sig_adopt"] * 2 * (s["Sig"] - ref)) \
|
||||
* max(0.0, 1 + p["leg_perm"] * 2 * (s["Lg"] - ref))
|
||||
inflow = d["Ko"] + p["dO"] * s["Ko"]
|
||||
d["Ko"] = scale * inflow - p["dO"] * s["Ko"]
|
||||
if p["sent"]:
|
||||
pb = perceived_benefit(s, a, p)
|
||||
pb0 = pb if p["sig_pb0"] is None else p["sig_pb0"]
|
||||
target = min(1.0, max(0.0, 0.5 + p["sig_gain"] * (pb - pb0)))
|
||||
target = min(1.0, max(0.0, (0.5 if p["sig_ref"] is None else p["sig_ref"]) + p["sig_gain"] * (pb - pb0)))
|
||||
d["Sig"] = p["sent"] * p["sig_rate"] * (target - s["Sig"])
|
||||
d["Lg"] = p["sent"] * (s["Sig"] - s["Lg"]) / p["leg_lag"]
|
||||
else:
|
||||
|
|
|
|||
|
|
@ -10,39 +10,39 @@ already contains today's permissiveness).
|
|||
| Regime | Loop | K_Ω t5 / t25 / peak | Ȳ 0–25 | VFAC t100 | G | A | P t0 → t100 | floors broken |
|
||||
|---|---|---|---|---|---|---|---|---|
|
||||
| J1 | off | 0.18 / 0.23 / 0.23 | 0.253 | 0.419 | 0.48 | 0.56 | 0.68 → 0.54 | none |
|
||||
| J1 | on | 0.11 / 0.29 / 0.29 | 0.252 | 0.413 | 0.48 | 0.54 | 0.68 → 0.55 | none |
|
||||
| J1 | on | 0.18 / 0.28 / 0.29 | 0.261 | 0.411 | 0.47 | 0.54 | 0.68 → 0.55 | none |
|
||||
| J2 | off | 0.38 / 0.41 / 0.44 | 0.289 | 0.268 | 0.37 | 0.33 | 0.68 → 0.78 | P |
|
||||
| J2 | on | 0.19 / 0.23 / 0.27 | 0.247 | 0.301 | 0.40 | 0.41 | 0.68 → 0.75 | P |
|
||||
| J2 | on | 0.34 / 0.22 / 0.35 | 0.252 | 0.299 | 0.40 | 0.40 | 0.68 → 0.76 | P |
|
||||
| J3 | off | 0.33 / 0.36 / 0.39 | 0.277 | 0.253 | 0.36 | 0.32 | 0.68 → 0.82 | P |
|
||||
| J3 | on | 0.16 / 0.19 / 0.22 | 0.235 | 0.295 | 0.39 | 0.39 | 0.68 → 0.77 | P |
|
||||
| J3 | on | 0.30 / 0.18 / 0.30 | 0.240 | 0.293 | 0.39 | 0.39 | 0.68 → 0.77 | P |
|
||||
| J4 | off | 0.34 / 0.39 / 0.41 | 0.284 | 0.285 | 0.38 | 0.41 | 0.68 → 0.77 | P |
|
||||
| J4 | on | 0.17 / 0.31 / 0.31 | 0.254 | 0.297 | 0.39 | 0.43 | 0.68 → 0.76 | P |
|
||||
| J4 | on | 0.33 / 0.32 / 0.38 | 0.274 | 0.296 | 0.39 | 0.43 | 0.68 → 0.76 | P |
|
||||
|
||||
## EU (current regime ≈ J1)
|
||||
|
||||
| Regime | Loop | K_Ω t5 / t25 / peak | Ȳ 0–25 | VFAC t100 | G | A | P t0 → t100 | floors broken |
|
||||
|---|---|---|---|---|---|---|---|---|
|
||||
| J1 | off | 0.25 / 0.30 / 0.31 | 0.261 | 0.289 | 0.41 | 0.41 | 0.72 → 0.82 | P |
|
||||
| J1 | on | 0.26 / 0.18 / 0.28 | 0.244 | 0.306 | 0.41 | 0.47 | 0.72 → 0.80 | P |
|
||||
| J1 | on | 0.24 / 0.18 / 0.26 | 0.242 | 0.306 | 0.41 | 0.47 | 0.72 → 0.80 | P |
|
||||
| J2 | off | 0.55 / 0.52 / 0.59 | 0.318 | 0.193 | 0.33 | 0.18 | 0.72 → 0.91 | P,A |
|
||||
| J2 | on | 0.46 / 0.14 / 0.47 | 0.234 | 0.245 | 0.38 | 0.31 | 0.72 → 0.88 | P |
|
||||
| J2 | on | 0.43 / 0.14 / 0.43 | 0.233 | 0.246 | 0.38 | 0.31 | 0.72 → 0.88 | P |
|
||||
| J3 | off | 0.49 / 0.49 / 0.54 | 0.308 | 0.186 | 0.32 | 0.17 | 0.72 → 0.92 | P,A |
|
||||
| J3 | on | 0.41 / 0.11 / 0.41 | 0.224 | 0.237 | 0.38 | 0.30 | 0.72 → 0.90 | P |
|
||||
| J3 | on | 0.38 / 0.11 / 0.38 | 0.223 | 0.237 | 0.38 | 0.30 | 0.72 → 0.90 | P |
|
||||
| J4 | off | 0.50 / 0.51 / 0.55 | 0.313 | 0.207 | 0.33 | 0.24 | 0.72 → 0.90 | P |
|
||||
| J4 | on | 0.51 / 0.35 / 0.53 | 0.290 | 0.228 | 0.36 | 0.29 | 0.72 → 0.89 | P |
|
||||
| J4 | on | 0.47 / 0.35 / 0.50 | 0.287 | 0.228 | 0.36 | 0.29 | 0.72 → 0.89 | P |
|
||||
|
||||
## AR (current regime ≈ J2)
|
||||
|
||||
| Regime | Loop | K_Ω t5 / t25 / peak | Ȳ 0–25 | VFAC t100 | G | A | P t0 → t100 | floors broken |
|
||||
|---|---|---|---|---|---|---|---|---|
|
||||
| J1 | off | 0.13 / 0.14 / 0.14 | 0.219 | 0.342 | 0.41 | 0.52 | 0.75 → 0.71 | P |
|
||||
| J1 | on | 0.12 / 0.18 / 0.18 | 0.223 | 0.338 | 0.41 | 0.51 | 0.75 → 0.72 | P |
|
||||
| J1 | on | 0.14 / 0.18 / 0.18 | 0.225 | 0.337 | 0.41 | 0.51 | 0.75 → 0.72 | P |
|
||||
| J2 | off | 0.29 / 0.31 / 0.34 | 0.256 | 0.229 | 0.34 | 0.27 | 0.75 → 0.86 | P |
|
||||
| J2 | on | 0.22 / 0.16 / 0.23 | 0.224 | 0.253 | 0.36 | 0.33 | 0.75 → 0.85 | P |
|
||||
| J2 | on | 0.26 / 0.16 / 0.27 | 0.226 | 0.253 | 0.36 | 0.33 | 0.75 → 0.85 | P |
|
||||
| J3 | off | 0.25 / 0.27 / 0.29 | 0.243 | 0.220 | 0.33 | 0.26 | 0.75 → 0.89 | P |
|
||||
| J3 | on | 0.19 / 0.13 / 0.20 | 0.212 | 0.242 | 0.35 | 0.32 | 0.75 → 0.88 | P |
|
||||
| J3 | on | 0.23 / 0.13 / 0.23 | 0.214 | 0.241 | 0.35 | 0.32 | 0.75 → 0.88 | P |
|
||||
| J4 | off | 0.25 / 0.28 / 0.30 | 0.249 | 0.243 | 0.34 | 0.35 | 0.75 → 0.86 | P |
|
||||
| J4 | on | 0.20 / 0.23 / 0.25 | 0.235 | 0.251 | 0.35 | 0.37 | 0.75 → 0.85 | P |
|
||||
| J4 | on | 0.25 / 0.24 / 0.28 | 0.242 | 0.251 | 0.35 | 0.37 | 0.75 → 0.85 | P |
|
||||
|
||||
## Readings check
|
||||
|
||||
|
|
|
|||
|
|
@ -55,6 +55,7 @@
|
|||
"r_i": 0.45,
|
||||
"r_lin": 0.45,
|
||||
"r_mem": 0.45,
|
||||
"sig_ref": 0.43,
|
||||
"wL0": 0.38659793814432997,
|
||||
"x_att": 0.7
|
||||
},
|
||||
|
|
@ -119,6 +120,7 @@
|
|||
"r_i": 0.45,
|
||||
"r_lin": 0.45,
|
||||
"r_mem": 0.45,
|
||||
"sig_ref": 0.535,
|
||||
"std": 0.6,
|
||||
"wL0": 0.6156930126002291,
|
||||
"x_att": 0.3
|
||||
|
|
@ -184,6 +186,7 @@
|
|||
"r_i": 0.45,
|
||||
"r_lin": 0.45,
|
||||
"r_mem": 0.45,
|
||||
"sig_ref": 0.535,
|
||||
"std": 0.6,
|
||||
"wL0": 0.5226231386025201,
|
||||
"x_att": 0.3
|
||||
|
|
@ -247,6 +250,7 @@
|
|||
"r_i": 0.45,
|
||||
"r_lin": 0.45,
|
||||
"r_mem": 0.45,
|
||||
"sig_ref": 0.285,
|
||||
"wL0": 0.47841498652534076,
|
||||
"x_att": 0.8
|
||||
},
|
||||
|
|
|
|||
|
|
@ -12,16 +12,16 @@ Series: U.S. Census Bureau BTOS Q7 (National.xlsx), periods 2025-24 to 2026-20 (
|
|||
|
||||
| Candidate | log-likelihood | weight | t0 | K_Ω at window end |
|
||||
|---|---|---|---|---|
|
||||
| B3/loop off | -8.3 | 0.443 | 1.20 | 0.172 |
|
||||
| B2/loop off | -8.5 | 0.376 | 0.20 | 0.077 |
|
||||
| B4/loop off | -9.2 | 0.176 | 1.90 | 0.278 |
|
||||
| B4/loop on | -12.8 | 0.005 | 0.00 | 0.065 |
|
||||
| B3/loop on | -19.4 | 0.000 | 0.00 | 0.062 |
|
||||
| B3/loop off | -8.3 | 0.230 | 1.20 | 0.172 |
|
||||
| B2/loop off | -8.5 | 0.195 | 0.20 | 0.077 |
|
||||
| B2/loop on | -8.5 | 0.187 | 0.20 | 0.077 |
|
||||
| B3/loop on | -8.6 | 0.174 | 1.15 | 0.167 |
|
||||
| B4/loop on | -9.0 | 0.122 | 1.65 | 0.244 |
|
||||
| B4/loop off | -9.2 | 0.092 | 1.90 | 0.278 |
|
||||
| B1/loop off | -80.7 | 0.000 | 0.00 | 0.054 |
|
||||
| B2/loop on | -82.7 | 0.000 | 3.70 | 0.069 |
|
||||
| B1/loop on | -110.1 | 0.000 | 9.60 | 0.045 |
|
||||
| B1/loop on | -80.8 | 0.000 | 0.00 | 0.054 |
|
||||
|
||||
**Best:** B3/loop off (weight 0.44). Anchor weights: B1 0.00, B2 0.38, B3 0.44, B4 0.18. Loop weights: off 1.00, on 0.00.
|
||||
**Best:** B3/loop off (weight 0.23). Anchor weights: B1 0.00, B2 0.38, B3 0.40, B4 0.21. Loop weights: off 0.52, on 0.48.
|
||||
|
||||
## EU
|
||||
|
||||
|
|
@ -29,16 +29,16 @@ Series: Eurostat isoc_eb_ai, EU27_2020, reference years 2023-2025 (2021: 7.65, b
|
|||
|
||||
| Candidate | log-likelihood | weight | t0 | K_Ω at window end |
|
||||
|---|---|---|---|---|
|
||||
| B3/loop off | -2.2 | 0.456 | 0.50 | 0.198 |
|
||||
| B2/loop on | -2.4 | 0.366 | 0.00 | 0.107 |
|
||||
| B3/loop on | -3.3 | 0.159 | 0.55 | 0.222 |
|
||||
| B3/loop on | -2.1 | 0.501 | 0.45 | 0.193 |
|
||||
| B3/loop off | -2.2 | 0.458 | 0.50 | 0.198 |
|
||||
| B2/loop off | -5.6 | 0.016 | 0.00 | 0.098 |
|
||||
| B2/loop on | -5.7 | 0.015 | 0.00 | 0.098 |
|
||||
| B4/loop on | -6.4 | 0.007 | 0.90 | 0.290 |
|
||||
| B4/loop off | -7.5 | 0.002 | 1.00 | 0.308 |
|
||||
| B4/loop on | -11.4 | 0.000 | 1.05 | 0.356 |
|
||||
| B1/loop on | -49.8 | 0.000 | 0.00 | 0.061 |
|
||||
| B1/loop off | -58.0 | 0.000 | 0.00 | 0.058 |
|
||||
| B1/loop on | -58.0 | 0.000 | 0.00 | 0.058 |
|
||||
|
||||
**Best:** B3/loop off (weight 0.46). Anchor weights: B1 0.00, B2 0.38, B3 0.62, B4 0.00. Loop weights: off 0.47, on 0.53.
|
||||
**Best:** B3/loop on (weight 0.50). Anchor weights: B1 0.00, B2 0.03, B3 0.96, B4 0.01. Loop weights: off 0.48, on 0.52.
|
||||
|
||||
## DE
|
||||
|
||||
|
|
@ -46,13 +46,13 @@ Series: Eurostat isoc_eb_ai, DE, reference years 2023-2025 (2021: 10.56, exclude
|
|||
|
||||
| Candidate | log-likelihood | weight | t0 | K_Ω at window end |
|
||||
|---|---|---|---|---|
|
||||
| B2/loop on | -0.1 | 0.573 | 0.00 | 0.110 |
|
||||
| B3/loop off | -1.3 | 0.178 | 0.65 | 0.214 |
|
||||
| B2/loop off | -1.4 | 0.152 | 0.00 | 0.101 |
|
||||
| B3/loop on | -1.9 | 0.097 | 0.70 | 0.240 |
|
||||
| B3/loop on | -1.2 | 0.295 | 0.65 | 0.211 |
|
||||
| B3/loop off | -1.3 | 0.263 | 0.65 | 0.214 |
|
||||
| B2/loop off | -1.4 | 0.225 | 0.00 | 0.101 |
|
||||
| B2/loop on | -1.5 | 0.216 | 0.00 | 0.101 |
|
||||
| B4/loop on | -6.7 | 0.001 | 1.25 | 0.344 |
|
||||
| B4/loop off | -8.3 | 0.000 | 1.35 | 0.370 |
|
||||
| B4/loop on | -11.0 | 0.000 | 1.35 | 0.415 |
|
||||
| B1/loop on | -36.2 | 0.000 | 0.00 | 0.063 |
|
||||
| B1/loop off | -43.4 | 0.000 | 0.00 | 0.059 |
|
||||
| B1/loop on | -43.5 | 0.000 | 0.00 | 0.059 |
|
||||
|
||||
**Best:** B2/loop on (weight 0.57). Anchor weights: B1 0.00, B2 0.73, B3 0.27, B4 0.00. Loop weights: off 0.33, on 0.67.
|
||||
**Best:** B3/loop on (weight 0.29). Anchor weights: B1 0.00, B2 0.44, B3 0.56, B4 0.00. Loop weights: off 0.49, on 0.51.
|
||||
|
|
|
|||
|
|
@ -13,10 +13,10 @@ output levels are normalized model units and not comparable across jurisdictions
|
|||
| off | EU | 0.31 | 1.01 / 0.85 | 0.281 | 0.82 | 0.41 | 0.41 | 0.54 |
|
||||
| off | AR | 0.34 | 0.99 / 0.81 | 0.241 | 0.83 | 0.35 | 0.27 | 0.43 |
|
||||
| off | J4 | 0.40 | 1.07 / 0.92 | 0.285 | 0.77 | 0.38 | 0.41 | 0.28 |
|
||||
| on | US | 0.21 | 0.88 / 0.68 | 0.295 | 0.77 | 0.39 | 0.39 | 0.37 |
|
||||
| on | EU | 0.28 | 0.96 / 0.76 | 0.311 | 0.77 | 0.42 | 0.46 | 0.40 |
|
||||
| on | AR | 0.25 | 0.89 / 0.68 | 0.275 | 0.78 | 0.37 | 0.31 | 0.38 |
|
||||
| on | J4 | 0.23 | 0.96 / 0.84 | 0.297 | 0.76 | 0.39 | 0.43 | 0.45 |
|
||||
| on | US | 0.27 | 0.90 / 0.69 | 0.293 | 0.77 | 0.39 | 0.39 | 0.16 |
|
||||
| on | EU | 0.27 | 0.95 / 0.76 | 0.310 | 0.77 | 0.42 | 0.46 | 0.44 |
|
||||
| on | AR | 0.27 | 0.90 / 0.68 | 0.274 | 0.78 | 0.37 | 0.31 | 0.31 |
|
||||
| on | J4 | 0.38 | 1.03 / 0.85 | 0.296 | 0.76 | 0.39 | 0.43 | 0.24 |
|
||||
|
||||
## X2 open-lineage world
|
||||
|
||||
|
|
@ -26,10 +26,10 @@ output levels are normalized model units and not comparable across jurisdictions
|
|||
| off | EU | 0.34 | 1.09 / 1.01 | 0.359 | 0.63 | 0.45 | 0.38 | 0.54 |
|
||||
| off | AR | 0.37 | 1.06 / 0.93 | 0.303 | 0.66 | 0.37 | 0.25 | 0.43 |
|
||||
| off | J4 | 0.40 | 1.07 / 0.92 | 0.285 | 0.77 | 0.38 | 0.41 | 0.28 |
|
||||
| on | US | 0.33 | 1.10 / 1.07 | 0.398 | 0.56 | 0.48 | 0.48 | 0.47 |
|
||||
| on | EU | 0.33 | 1.06 / 0.97 | 0.379 | 0.60 | 0.46 | 0.40 | 0.43 |
|
||||
| on | AR | 0.29 | 0.98 / 0.85 | 0.332 | 0.62 | 0.40 | 0.28 | 0.38 |
|
||||
| on | J4 | 0.23 | 0.96 / 0.84 | 0.297 | 0.76 | 0.39 | 0.43 | 0.45 |
|
||||
| on | US | 0.44 | 1.14 / 1.08 | 0.394 | 0.57 | 0.47 | 0.48 | 0.26 |
|
||||
| on | EU | 0.32 | 1.05 / 0.96 | 0.378 | 0.60 | 0.46 | 0.40 | 0.46 |
|
||||
| on | AR | 0.32 | 0.99 / 0.84 | 0.330 | 0.62 | 0.40 | 0.28 | 0.31 |
|
||||
| on | J4 | 0.38 | 1.03 / 0.85 | 0.296 | 0.76 | 0.39 | 0.43 | 0.24 |
|
||||
|
||||
## X3 accelerating frontier
|
||||
|
||||
|
|
@ -39,10 +39,10 @@ output levels are normalized model units and not comparable across jurisdictions
|
|||
| off | EU | 0.39 | 1.08 / 0.95 | 0.267 | 0.84 | 0.40 | 0.38 | 0.54 |
|
||||
| off | AR | 0.41 | 1.06 / 0.89 | 0.226 | 0.85 | 0.34 | 0.24 | 0.43 |
|
||||
| off | J4 | 0.74 | 1.33 / 1.23 | 0.246 | 0.80 | 0.35 | 0.31 | 0.28 |
|
||||
| on | US | 0.30 | 0.93 / 0.72 | 0.290 | 0.78 | 0.39 | 0.38 | 0.34 |
|
||||
| on | EU | 0.28 | 0.99 / 0.82 | 0.306 | 0.78 | 0.42 | 0.43 | 0.38 |
|
||||
| on | AR | 0.25 | 0.93 / 0.73 | 0.269 | 0.78 | 0.37 | 0.30 | 0.34 |
|
||||
| on | J4 | 0.37 | 1.12 / 1.03 | 0.275 | 0.78 | 0.37 | 0.37 | 0.40 |
|
||||
| on | US | 0.44 | 0.99 / 0.74 | 0.288 | 0.78 | 0.39 | 0.37 | 0.13 |
|
||||
| on | EU | 0.34 | 1.01 / 0.82 | 0.305 | 0.78 | 0.42 | 0.43 | 0.41 |
|
||||
| on | AR | 0.33 | 0.95 / 0.74 | 0.268 | 0.78 | 0.37 | 0.30 | 0.27 |
|
||||
| on | J4 | 0.67 | 1.24 / 1.05 | 0.274 | 0.78 | 0.37 | 0.37 | 0.19 |
|
||||
|
||||
## X4 fragmented blocs
|
||||
|
||||
|
|
@ -52,23 +52,23 @@ output levels are normalized model units and not comparable across jurisdictions
|
|||
| off | EU | 0.30 | 1.00 / 0.84 | 0.282 | 0.83 | 0.41 | 0.42 | 0.54 |
|
||||
| off | AR | 0.34 | 0.99 / 0.80 | 0.235 | 0.85 | 0.34 | 0.27 | 0.43 |
|
||||
| off | J4 | 0.40 | 1.07 / 0.92 | 0.285 | 0.77 | 0.38 | 0.41 | 0.28 |
|
||||
| on | US | 0.21 | 0.88 / 0.68 | 0.295 | 0.77 | 0.39 | 0.39 | 0.37 |
|
||||
| on | EU | 0.27 | 0.94 / 0.72 | 0.307 | 0.79 | 0.42 | 0.47 | 0.41 |
|
||||
| on | AR | 0.24 | 0.87 / 0.64 | 0.267 | 0.81 | 0.37 | 0.33 | 0.39 |
|
||||
| on | J4 | 0.23 | 0.96 / 0.84 | 0.297 | 0.76 | 0.39 | 0.43 | 0.45 |
|
||||
| on | US | 0.27 | 0.90 / 0.69 | 0.293 | 0.77 | 0.39 | 0.39 | 0.16 |
|
||||
| on | EU | 0.26 | 0.93 / 0.71 | 0.307 | 0.79 | 0.42 | 0.47 | 0.44 |
|
||||
| on | AR | 0.25 | 0.87 / 0.64 | 0.266 | 0.81 | 0.37 | 0.33 | 0.32 |
|
||||
| on | J4 | 0.38 | 1.03 / 0.85 | 0.296 | 0.76 | 0.39 | 0.43 | 0.24 |
|
||||
|
||||
## Hypothesis re-test
|
||||
|
||||
| Context | Loop | H1 EU adoption lags US and AR (K_Ω t10) | EU − US: ΔȲ 0–25 / ΔVFAC | H2 AR − EU: ΔȲ 0–25 / ΔȲ 0–100 / ΔVFAC | H2 holds? |
|
||||
|---|---|---|---|---|---|
|
||||
| X1 US-led concentrated frontier | off | yes (0.31 vs 0.39, 0.34) | -0.031 / +0.028 | -0.016 / -0.040 / -0.041 | no |
|
||||
| X1 US-led concentrated frontier | on | no (0.28 vs 0.21, 0.25) | +0.075 / +0.016 | -0.066 / -0.079 / -0.036 | no |
|
||||
| X1 US-led concentrated frontier | on | no (0.27 vs 0.27, 0.27) | +0.050 / +0.017 | -0.048 / -0.073 / -0.036 | no |
|
||||
| X2 open-lineage world | off | yes (0.34 vs 0.45, 0.37) | -0.074 / -0.020 | -0.028 / -0.083 / -0.055 | no |
|
||||
| X2 open-lineage world | on | no (0.33 vs 0.33, 0.29) | -0.039 / -0.018 | -0.074 / -0.122 / -0.048 | no |
|
||||
| X2 open-lineage world | on | no (0.32 vs 0.44, 0.32) | -0.093 / -0.017 | -0.060 / -0.117 / -0.048 | no |
|
||||
| X3 accelerating frontier | off | yes (0.39 vs 0.73, 0.41) | -0.235 / +0.049 | -0.024 / -0.052 / -0.041 | no |
|
||||
| X3 accelerating frontier | on | no (0.28 vs 0.30, 0.25) | +0.058 / +0.016 | -0.063 / -0.086 / -0.037 | no |
|
||||
| X3 accelerating frontier | on | no (0.34 vs 0.44, 0.33) | +0.022 / +0.017 | -0.053 / -0.082 / -0.037 | no |
|
||||
| X4 fragmented blocs | off | yes (0.30 vs 0.39, 0.34) | -0.038 / +0.029 | -0.016 / -0.044 / -0.047 | no |
|
||||
| X4 fragmented blocs | on | no (0.27 vs 0.21, 0.24) | +0.060 / +0.012 | -0.073 / -0.080 / -0.040 | no |
|
||||
| X4 fragmented blocs | on | no (0.26 vs 0.27, 0.25) | +0.027 / +0.013 | -0.055 / -0.073 / -0.040 | no |
|
||||
|
||||
## Local-in-context vs. global (EU, context X1, loop off)
|
||||
|
||||
|
|
|
|||
|
|
@ -98,6 +98,13 @@ class TestGrounding(unittest.TestCase):
|
|||
self.assertEqual(ko, sorted(ko))
|
||||
self.assertLess(ko[0], ko[1])
|
||||
|
||||
def test_anchored_sentiment_stays_at_reference_without_response(self):
|
||||
# BR-009: with sig_ref set to the starting level, an unchanged perceived benefit keeps Sigma there
|
||||
r = g.simulate({"sent": 1.0, "sig_gain": 0.0, "sig_ref": 0.3}, {"Sig": 0.3, "Lg": 0.3}, T=20)[-1]
|
||||
self.assertAlmostEqual(r["Sig"], 0.3, places=9)
|
||||
free = g.simulate({"sent": 1.0, "sig_gain": 0.0}, {"Sig": 0.3, "Lg": 0.3}, T=20)[-1]
|
||||
self.assertGreater(free["Sig"], 0.4) # neutral reference: reverts toward 0.5
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
unittest.main()
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@ type: workplan
|
|||
title: "Reliable flip detection: indicators, per-regime filter, sentiment equation"
|
||||
domain: communication
|
||||
repo: assembly-economics
|
||||
status: proposed
|
||||
status: active
|
||||
flavor: residual
|
||||
depends_on: [ASSEMBLY-WP-0012]
|
||||
owner: claude-code
|
||||
|
|
@ -25,11 +25,17 @@ No flip may be recorded in `research/FlipRegister.md` until T04 passes.
|
|||
|
||||
```task
|
||||
id: ASSEMBLY-WP-0017-T01
|
||||
status: todo
|
||||
status: done
|
||||
priority: high
|
||||
state_hub_task_id: "2d3c06d2-8788-5ed5-a68e-d648f61ef317"
|
||||
```
|
||||
|
||||
**Done 2026-10-13:** `sig_ref` in `gadm04` (default None = 0.5 keeps old
|
||||
results; calibrated runs anchor at measured Σ), test added, pipeline re-run.
|
||||
R1–R4 and H1/H2 verdicts unchanged; matching loop weights ≈ 0.5 (the earlier
|
||||
"US not braked" reading was an artifact). `sig_adopt` is not identifiable
|
||||
until sentiment points after checkpoint 0 exist (T02).
|
||||
|
||||
Σ relaxes toward 0.5 + gain × Δ(perceived benefit), so from the measured US
|
||||
level (0.285) it rises, while measured US sentiment fell 2021–2026. Add a
|
||||
sentiment reference parameter: neutral 0.5 (the default, keeps old results)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue