Skip to content

weather-p1: CT-F16 kills the steering rescue — and the 0.684 plateau was the instrument, not the data - #929

Merged
AdaWorldAPI merged 3 commits into
mainfrom
claude/jirak-math-theorems-harvest-rfii13
Aug 12, 2026
Merged

weather-p1: CT-F16 kills the steering rescue — and the 0.684 plateau was the instrument, not the data#929
AdaWorldAPI merged 3 commits into
mainfrom
claude/jirak-math-theorems-harvest-rfii13

Conversation

@AdaWorldAPI

@AdaWorldAPI AdaWorldAPI commented Aug 12, 2026

Copy link
Copy Markdown
Owner

Post-merge correction (2026-08-12, codex P2 on #930). One bullet in §5.13 below read "The wrong referent is visible: same R̄, μ shifted 100.3°" — a false relation composed of two true numbers. Identical R̄ belongs to steering↔rotated (0.343 = 0.343, μ shifted exactly the injected 90°); the 100.3° separation belongs to surface↔rotated, where R̄ differs (0.516 vs 0.343). The bullet is corrected in place below and marked; the source of truth (COMET_TAIL_REPORT.md §5.13) carries its own dated correction note. Lesson: the 13-figure verification that gated this PR checked operands, not relations — a comparative sentence must be verified AS a claim, naming both operands.

Two probes, both pre-registered before their runs, both landing against the arc's own hypotheses

CT-F16 — the leading moderator, measured and failed (05f090055f066f67)

§9.2 called the steering level "the single most promising fix" for the directional claim. Paired re-scoring of CT-F14's own 19 storms with only the motion reference changed (surface 6h displacement → 500/600/700 hPa disk-mean flow; same centres, byte-identical err_deg):

bar predicted measured verdict
F16a sign consistency ≥ 0.70 0.579 (worse than surface's 0.684) FAIL
F16b paired residual sd drops ≥ 10 % +28.4 % WIDER (68.3° → 87.7°) FAIL
F16d level sweep optimum 400–650 hPa monotone toward the SURFACE, best 850 hPa outside the band

The anti-vacuity control is the larger finding: a deliberately 90°-rotated reference scored 13/19 = 0.684, p=0.0835 — numerically identical to CT-F14's headline. At n=19 the sign-test ladder is 11→0.324, 13→0.0835, 14→0.0318: CT-F14 was never one storm short of significance; it was one storm short of distinguishability from an answer built to be wrong. Second, independent finding: stratified by steering strength, magnitude accuracy improves (median |err| 103°→55°) while sign consistency drops (0.833→0.462) — a one-sided sign test on a distribution not centred at zero reports which side the bias falls on, not whether the prediction holds.

Not falsified: the height ladder (different quantity — field-per-level vs surface dipole) and the entire structural claim (§9.1).

§5.13 — the circular resultant resolves the same rows the sign test couldn't (bd2f93d6)

Operator: "die irrationale Aufsummierung hilft, dass der Dipol nicht auf 0.68 kollabiert." Measured on the same 19 stored storms, no fetch, post-hoc and explicitly not a verdict:

referent sign < 0 μ Rayleigh p
surface 0.684 0.516 −30.2° ± 36.5° 0.0050
steering 0.579 0.343 −40.5° 0.107
CONTROL rot+90° 0.684 0.343 −130.5° 0.107
CONTROL permuted 0.421 0.142 0.689
  • The 0.684 plateau was a property of the statistic — binarizing each error vector to one bit saturates below the 14/19 floor. The vector Aufsummierung resolves the identical rows at p=0.0050, and the arc's systematic ≈−40° offset is now estimated (−30.2°) instead of penalized.
  • The wrong referent is visible — in two channels, and the correct reading is per-pair (corrected 2026-08-12; the original bullet fused two pairs into one false relation, see the note at the top): against SURFACE, the rotated control differs in both R̄ (0.343 vs 0.516) and μ (100.3° apart); against STEERING, it shows identical R̄ (0.343 = 0.343) with μ shifted exactly the injected 90° (−40.5° → −130.5°) — the signature of a pure rotation. The sign test conflated the control with the surface headline at 0.684 = 0.684 and could see neither.
  • Every prior sign-consistency number in the arc (2/2, 6/10, 8/10, 13/19) is bounded by this section in both directions — the sign test neither established the claim nor could it have.

The Faltung reading is folded into §5.13: the resultant is the first circular Fourier coefficient; the planned CT-W6 two-component fit (geo/neighbor + bow-wave) is a deconvolution; on Z_256 circular Faltung is substrate-native (DistanceLut::circular()'s own domain).

Contents

  • comet_tail_f16.py / .json — pre-registration committed before the run
  • comet_tail_resultant_instrument.py / .json — the instrument comparison, deterministic bootstrap
  • COMET_TAIL_REPORT.md §5.12 + §5.13, §9.2 steering row superseded in place
  • EPIPHANIES.mdE-THE-CONTROL-SCORED-THE-HEADLINE-1

Queued, named, not run: CT-W6 (two-component vector deconvolution of the dipole: neighbor far-field + bow-wave, global coefficients across 19×2 observations, circular metrics, F16c-standard controls), CT-W2s/W5/W7 (sunflower collision nodes, spiral-ADI, Gegendruck), CT-F17 (fresh-sample verdict).

🤖 Generated with Claude Code

https://claude.ai/code/session_01CcpLeEC3XK8Eye53GKBVvi


Generated by Claude Code

Summary by CodeRabbit

  • Documentation

    • Added CT-F16 findings comparing surface displacement with 500–700 hPa steering flow.
    • Documented that steering-flow references reduced directional agreement and increased residual spread.
    • Clarified that sign-based scoring may overstate predictive success and added circular-direction analysis.
    • Updated moderator results and cross-references, including unaffected height-ladder and structural conclusions.
  • Data & Analysis

    • Added a 19-storm paired dataset, control comparisons, pressure-level results, and instrument summaries.

claude added 3 commits August 12, 2026 09:56
…el scoring)

Committing the probe with its four bars stated, before any fetch, so the read
cannot be tuned to the result. CT-F16a >= 0.70 sign consistency vs the
500/600/700 hPa steering flow; CT-F16b the PAIRED test (sd of the signed
offset must drop >= 10%); CT-F16c anti-vacuity (permuted + 90-deg-rotated
references must BOTH stay under 0.70, reported first and voiding the rest if
they fail); CT-F16d the level sweep, descriptive.

Scope stated up front: this is a RE-SCORING of CT-F14's own 19 storms with
ONLY the motion reference changed -- the MECHANISTIC test, explicitly NOT a
verdict. A fresh-sample verdict is CT-F17, named and not run.

Co-Authored-By: Claude <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01CcpLeEC3XK8Eye53GKBVvi
… control scored the headline

Bars were committed before the run (05f0900). Both primary bars FAIL, in the
direction that cuts against this arc's own hypothesis.

CT-F16a  sign consistency vs 500/600/700 hPa steering flow: 0.579 (11/19),
         p=0.324, against a 0.70 bar -- WORSE than the surface displacement's
         0.684 on the identical storms.
CT-F16b  paired residual: sd 68.29 -> 87.71 deg, 28.4% WIDER, where a >=10%
         tightening was predicted. Opposite direction.
CT-F16d  level sweep improves MONOTONICALLY toward the surface (400 hPa 0.579
         -> 850 hPa 0.684; sd 89.5 -> 77.0), best at 850 hPa, OUTSIDE the
         400-650 hPa band the height ladder predicted. No mid-tropospheric
         optimum exists on this sample.

Report SS9.2 called steering level "the single most promising fix". It is now
measured and it is not a fix; that row is superseded in place.

THE CONTROL IS THE LARGER FINDING. F16c scored two deliberately WRONG
references through the same pipeline. The 90-deg-rotated steering reference
returned 13/19 = 0.684, p=0.0835 -- numerically identical to CT-F14's headline,
the figure this arc has carried as "suggestive". At n=19 the ladder is
11->0.324, 13->0.0835, 14->0.0318. CT-F14 was never one storm short of
significance; it was one storm short of distinguishability from an answer built
to be wrong. Rule banked: an anti-vacuity control measures the RESOLVING POWER
of the instrument, not only the test it is attached to.

SECOND, INDEPENDENT FINDING: the sign test conflates a systematic rotation with
a correct prediction. Weak steering (<10 m/s, n=6): sign 0.833, median |err|
103 deg. Strong steering (>=10 m/s, n=13): sign 0.462, median |err| 55 deg.
corr(speed,|err|) = -0.407. Magnitude accuracy improves with steering strength
as physics expects while sign consistency moves the opposite way -- because a
one-sided sign test on a distribution not centred at zero reports which SIDE
the bias falls on. This arc has used it as the primary instrument since SS4.

NOT falsified: the height ladder decomposed the FIELD per level about its own
centre; CT-F16 keeps the SURFACE dipole and swaps the FLOW reference. Different
quantities. The ladder stands; its operational reading is what died. The
structural claim (SS9.1) is untouched.

Co-Authored-By: Claude <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01CcpLeEC3XK8Eye53GKBVvi
…esultant resolves the same rows at p=0.005

Operator: "die irrationale Aufsummierung hilft, dass der Dipol nicht auf 0.68
kollabiert." Measured on the SAME 19 stored storms, no fetch, post-hoc and
explicitly NOT a verdict:

  referent          sign<0   R_bar     mu        Rayleigh p
  surface (F14)     0.684    0.516    -30.2deg   0.0050
  steering (F16)    0.579    0.343    -40.5deg   0.107
  CONTROL rot+90    0.684    0.343   -130.5deg   0.107
  CONTROL permuted  0.421    0.142      --       0.689

Three findings:

1. The 0.684 plateau was a property of the STATISTIC, not the data. The sign
   test collapses each error vector to one bit; 19 bits saturate below the
   14/19 floor. The vector Aufsummierung (circular resultant) resolves the
   identical rows at p=0.0050 -- concentration and offset become two numbers
   instead of eating each other. The arc's ~-40deg systematic offset is now
   ESTIMATED (-30.2 +/- 36.5 deg) instead of penalized.

2. The wrong referent is VISIBLE. The rotated control that scored an
   indistinguishable 0.684 under the sign test shows the same R_bar with mu
   shifted 100.3 deg -- separated far beyond both CIs. Instrument hierarchy:
   real (0.516) > structured-but-wrong (0.343, wrong mu) > permuted (0.142,
   below the uniform floor 0.203).

3. Every prior sign-consistency number in the arc (2/2, 6/10, 8/10, 13/19)
   was read through an instrument that cannot estimate the offset it
   penalizes and cannot distinguish a rotated referent at these n. Bounded in
   BOTH directions: the sign test neither established the claim nor could it
   have.

Faltung reading folded into SS5.13: the resultant is the first circular
Fourier coefficient (Faltung with e^{i theta}); the W6 two-component fit is a
DEconvolution (component mix conv apparatus noise, +/-3-7 deg from CT-F4);
on Z_256 the circular Faltung is substrate-native (DistanceLut::circular's
domain, FFT-able).

Not promoted: same sample, post-hoc. CT-W6 = the pre-registered circular-
statistics use; CT-F17 = the fresh-sample verdict.

Co-Authored-By: Claude <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01CcpLeEC3XK8Eye53GKBVvi
@coderabbitai

coderabbitai Bot commented Aug 12, 2026

Copy link
Copy Markdown

Review Change Stack

Warning

Review limit reached

@AdaWorldAPI, you've reached your PR review limit, so we couldn't start this review.

Next review available in: 58 minutes

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 13162bdd-8d7f-4add-a869-76ec71bab1b3

📥 Commits

Reviewing files that changed from the base of the PR and between 154d1a9 and bd2f93d.

📒 Files selected for processing (6)
  • .claude/board/EPIPHANIES.md
  • probes/weather-p1/COMET_TAIL_REPORT.md
  • probes/weather-p1/comet_tail_f16.json
  • probes/weather-p1/comet_tail_f16.py
  • probes/weather-p1/comet_tail_resultant_instrument.json
  • probes/weather-p1/comet_tail_resultant_instrument.py
ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 4042c459-d111-4259-8763-ebcc01dcc0c0

📥 Commits

Reviewing files that changed from the base of the PR and between 154d1a9 and bd2f93d.

📒 Files selected for processing (6)
  • .claude/board/EPIPHANIES.md
  • probes/weather-p1/COMET_TAIL_REPORT.md
  • probes/weather-p1/comet_tail_f16.json
  • probes/weather-p1/comet_tail_f16.py
  • probes/weather-p1/comet_tail_resultant_instrument.json
  • probes/weather-p1/comet_tail_resultant_instrument.py

📝 Walkthrough

Walkthrough

CT-F16 adds a paired steering-flow re-scoring probe for 19 CT-F14 storms, stores pressure-level results, and adds circular-resultant analysis with rotated and permuted controls. Reports document failed steering-level criteria and preserve unaffected height-ladder findings.

Changes

CT-F16 analysis

Layer / File(s) Summary
Paired steering-flow probe
probes/weather-p1/comet_tail_f16.py, probes/weather-p1/comet_tail_f16.json
The probe retrieves ERA5 pressure and wind data, computes steering bearings and errors, evaluates anti-vacuity and scoring criteria, and stores the measurements and verdicts.
Circular-resultant instrument
probes/weather-p1/comet_tail_resultant_instrument.py, probes/weather-p1/comet_tail_resultant_instrument.json
The instrument computes circular statistics, bootstrap intervals, and control comparisons for the stored storm referents.
Results and interpretation updates
probes/weather-p1/COMET_TAIL_REPORT.md, .claude/board/EPIPHANIES.md
The documentation records lower steering sign consistency, wider residual spread, the 850 hPa result, circular-control findings, and updated interpretation boundaries.

Estimated code review effort: 4 (Complex) | ~45 minutes

Sequence Diagram(s)

sequenceDiagram
  participant Analyst
  participant Probe as comet_tail_f16.py
  participant ERA5 as ERA5 WeatherBench2
  participant Artifact as comet_tail_f16.json
  participant Report as COMET_TAIL_REPORT.md
  Analyst->>Probe: run paired CT-F16 rescoring
  Probe->>ERA5: retrieve storm pressure and wind fields
  ERA5-->>Probe: return meteorological measurements
  Probe->>Artifact: write errors, level sweep, and verdicts
  Analyst->>Report: record steering and circular-result findings
Loading

Possibly related PRs

Poem

A rabbit checks the winds with care,
Through pressure levels in the air.
The surface still holds its place,
While circles test each bearing’s trace.
CT-F16 records the trail—
With honest numbers, hop and hail!

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@cursor

cursor Bot commented Aug 12, 2026

Copy link
Copy Markdown

Bugbot couldn't run - usage limit reached

Bugbot is counted against Cursor usage for this user or team, and this run hit a usage or spend limit.

A user or team admin can review and increase usage limits in the Cursor dashboard.

(requestId: serverGenReqId_c3085e81-95fe-4383-85b4-5f4e4a338338)

Copy link
Copy Markdown
Owner Author

@coderabbitai review

Requesting a review while this stays a draft. This PR carries statistical machinery and pre-registered verdicts — the material where review has been most productive on this arc (the var()-vs-MSE R² numerator and the CT-F14 artifact contradiction were both review catches).

Specifically worth adversarial eyes:

  1. comet_tail_f16.py — the paired re-scoring design: is anything besides the motion reference actually allowed to vary? The claim "byte-identical err_deg, stored centres reused" is load-bearing for every conclusion in §5.12.
  2. comet_tail_resultant_instrument.py — the Rayleigh p-approximation (Zar/Mardia small-n correction), the bootstrap CI construction, and whether the rotated/permuted controls are computed with the identical error convention as the referents they're compared against.
  3. §5.13's scope discipline — the p=0.0050 is post-hoc on the same 19 storms and the text says so; check that no sentence in the report or EPIPHANIES reads as a promotion of the directional claim.
  4. The standing arc failure mode: a claim corrected in one home and left standing in another — §9.2's steering row is superseded in place, §5.11/§5.12/§5.13 all bound the sign-test numbers; check for surviving twins.

Generated by Claude Code

@coderabbitai

coderabbitai Bot commented Aug 12, 2026

Copy link
Copy Markdown

@AdaWorldAPI I will review the requested statistical methods and report consistency in pull request #929.

⚠️ Action not completed

Pull request is closed.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@AdaWorldAPI
AdaWorldAPI marked this pull request as ready for review August 12, 2026 10:48
@AdaWorldAPI
AdaWorldAPI merged commit 630cf59 into main Aug 12, 2026
1 of 2 checks passed
AdaWorldAPI pushed a commit that referenced this pull request Aug 12, 2026
Post-merge board hygiene per the Mandatory Board-Hygiene Rule. #929 was a
mixed PR (2 probes + report sections + epiphany), so its entry records the
non-hygiene half:

  * CT-F16: the steering rescue failed both pre-registered bars; the level
    sweep is monotone toward the SURFACE (best 850 hPa). The ladder survives
    as a measurement; its operational reading is dead.
  * F16c's rotated control scored 0.684 = CT-F14's headline -- the sign test
    could not distinguish the real referent from a wrong one at n=19. Rule
    banked: a control's score is the floor any rate-headline must clear.
  * The circular resultant resolves the same 19 rows at p=0.0050, estimates
    the offset (-30.2 deg) instead of penalizing it, and separates the
    rotated control by 100.3 deg. Post-hoc, instrument demo, not a promotion
    -- but sign-consistency numbers are retired as verdict-grade instruments
    across the arc.

All 13 figures in the entry verified against the committed JSONs BEFORE
landing (13/13 exact -- the #927 self-verification, now standard practice).
Append-only audit: zero removed lines across both board files (pure prepend).

THIS PR IS PURE HYGIENE -- no type, plan, deliverable, epiphany or code. Per
the termination clause it generates no further obligations; the chain stops
here.

Co-Authored-By: Claude <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01CcpLeEC3XK8Eye53GKBVvi
AdaWorldAPI pushed a commit that referenced this pull request Aug 12, 2026
…h, fixed in all three homes

Codex P2 on #930: "identical R-bar with mu shifted 100.3 deg" fused two
different comparisons. Identical R-bar belongs to steering<->rotated (0.343 =
0.343, mu shifted exactly 90 -- rotation preserves concentration by
construction); the 100.3 deg separation belongs to surface<->rotated, where
R-bar is NOT identical (0.516 vs 0.343). The composite was false in all three
homes: LATEST_STATE, the #929 arc entry, report SS5.13. Stated correctly the
finding is STRONGER -- the control separates from surface in BOTH channels.

Unmerged board entries composed in place (append-only rule's unmerged-PR
allowance); the merged report gets a dated correction note.

Lesson banked: the 13/13 figure verification checked every NUMBER and still
missed this -- a relation between two individually correct numbers can be
false. Verify comparative claims AS claims: every "identical/same/larger"
must name both operands, and the check must evaluate the relation.

Also codex P2 #2: the LATEST_STATE shipped-PR table had stalled at #780.
Added #926-#929 rows plus an explicit gap-note row for #781-#925 (carried by
PR_ARC_INVENTORY) -- honest gap, not silent reconstruction of ~150 rows.

Co-Authored-By: Claude <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01CcpLeEC3XK8Eye53GKBVvi
AdaWorldAPI pushed a commit that referenced this pull request Aug 12, 2026
…ng, and the append-only audit could not fail

Operator: "930 has comments / check also previous 5 / if you want go back
another 5." All 68 review comments on #920-#930 enumerated and checked against
the TREE, not the merge. Depth is non-uniform and said so: #922-#930
finding-by-finding; #920 (27) and #921 (5) spot-checked on P1/governance only
(both clean), ~30 older findings there left explicitly UNVERIFIED.

Clean: #922/#924/#925/#929 zero comments; all 27 of #926's findings fixed in
the tree (equal-budget grid_pts + regenerated E2 JSON, seam-wrapping
subgrid_min, find_center->None, F7d 35->40, CT_F12 NO-VERDICT, persisted storm
metadata, np.roll longitude, __file__-relative write, net-decay E6, the
93-97%->90.9-94.3% headline); #923's plan-status P2 resolved.

Three open, all frozen in append-only ledgers, all corrected in NEW entries:

1. "+92.76 Pa moves R2 in the 5th decimal" is refuted by the report's own
   carve table 15 lines above it: carve A's +92.76 Pa moved R2 0.9212->0.9129
   (0.0083, THIRD decimal); carve D's +1.59 Pa moved it 2.4e-06 (SIXTH). The
   var() BUG was blind at every magnitude; the STATISTIC is near-blind only in
   the single-digit-Pa regime -- which is exactly where "lossless" was claimed.
2. "10 probe scripts with committed JSON" undercounts: 15 .py added, 11 with a
   committed .json.
3. "+13/-0, +10/-0, +0/-0": measured +13/-0, +17/-0, and EPIPHANIES absent from
   the net diff -- it was +1/-1 at 0f9e6bc (the in-place edit), zeroed by the
   revert. The +0/-0 was a revert artefact, not evidence of purity.

And the audit METHOD is replaced: zero-deletions proves ADDITIVE, not PREPEND.
The suffix check (new.endswith(old)) proves it. Both halves measured before
banking: a constructed end-append scores zero-del=True/suffix=False; a true
prepend True/True. It also fires on THIS PR (LATEST_STATE suffix=False at
+15/-0) -- correctly, since #930 inserts table rows mid-file and composes an
unmerged entry in place. A False is a demand for justification, not a verdict.

Same defect shape as #930's relation error, twice in three days: two
individually-true numbers asserted of one pair when each belongs to a
different one. A figure-by-figure check cannot catch it; the relation must be
evaluated as a claim. Already standing in report SS10.1 and the worker
preamble of weather-w-probes-v1 (both verified present, not assumed).

Co-Authored-By: Claude <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01CcpLeEC3XK8Eye53GKBVvi
AdaWorldAPI added a commit that referenced this pull request Aug 12, 2026
…arvest-rfii13

#929 hygiene + open-review sweep of #920#930 (3 frozen figures corrected, append-only audit replaced) + report §10 + weather-w-probes-v1 (MIXED)
AdaWorldAPI pushed a commit that referenced this pull request Aug 12, 2026
#930 merged as MIXED (started as #929 hygiene, grew into the #920-#930
open-review sweep + report SS10 + weather-w-probes-v1 worker briefs, per its
own twice-corrected title/body). Arc entry + LATEST_STATE shipped-PR row
added. The #928/#929 shipped-table rows are left untouched (superseded by the
sweep entry's correction table, not edited in place -- append-only).

Suffix-checked before commit: PR_ARC_INVENTORY suffix=True (pure append);
LATEST_STATE suffix=False (a table-row mid-file insert, the justified case the
sweep entry itself named).

Co-Authored-By: Claude <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01CcpLeEC3XK8Eye53GKBVvi
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.

2 participants