Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
82 changes: 82 additions & 0 deletions .github/workflows/downstream-gate.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
name: Downstream hard-gate exact replay
'on':
push:
branches: [cursor/downstream-hard-gate-91fa]
pull_request:
paths: ['frontiers/downstream_gate_20260925/**', '.github/workflows/downstream-gate.yml']
workflow_dispatch:
permissions:
contents: read
jobs:
replay:
runs-on: ubuntu-latest
timeout-minutes: 10
steps:
- uses: actions/checkout@11d5960a326750d5838078e36cf38b85af677262
- uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065
with:
python-version: '3.11'
- name: Verify sources and run gate controls plus regressions
env:
PYTHONDONTWRITEBYTECODE: '1'
run: |
python -B -S - <<'PY'
import hashlib, json, os, pathlib, subprocess, sys
root = pathlib.Path('frontiers/downstream_gate_20260925').resolve()
pins = json.loads((root / 'SOURCE_FILES.json').read_text())['files']
def verify():
for name, identity in pins.items():
if pathlib.PurePosixPath(name).name != name or (root / name).is_symlink():
raise ValueError('flat regular source required')
raw = (root / name).read_bytes()
if len(raw) != identity['bytes'] or hashlib.sha256(raw).hexdigest() != identity['sha256']:
raise ValueError('source identity mismatch: ' + name)
if sys.version_info[:2] != (3, 11):
raise RuntimeError('actual Python 3.11 required')
verify()
out = pathlib.Path(os.environ['RUNNER_TEMP']) / 'downstream-gate-results'
subprocess.run([sys.executable, '-B', '-S', str(root / 'run_validation.py'), '--output', str(out)], check=True, timeout=120)
regressions = [
('coefficients/side24_v1', 30),
('frontiers/three_fronts_20260924', 57),
('frontiers/price_budget_20260924', 26),
('frontiers/full_price_20260924', 36),
('frontiers/remote_window_20260924', 28),
]
for mode, flags in [('normal', []), ('optimized', ['-O'])]:
for index, (folder, count) in enumerate(regressions):
run = subprocess.run(
[sys.executable, '-B', *flags, '-S', '-m', 'unittest', 'discover', '-s', folder, '-p', 'test_*.py', '-v'],
capture_output=True, text=True, timeout=90,
)
(out / f'regression_{mode}_{index}.stdout').write_text(run.stdout)
(out / f'regression_{mode}_{index}.stderr').write_text(run.stderr)
if run.returncode or f'Ran {count} tests' not in run.stderr or 'skipped=' in run.stderr:
raise RuntimeError('regression failed: ' + folder)
verify()
report = json.loads((out / 'REPORT.json').read_text())
if not report['passed'] or report['distinct_tests'] != 27 or report['distinct_semantic_mutations'] != 7:
raise RuntimeError('unexpected new-test scope')
(out / 'GITHUB_CONTEXT.json').write_text(json.dumps({
'run': os.environ['GITHUB_RUN_ID'],
'sha': os.environ['GITHUB_SHA'],
'python': sys.version,
'new_distinct_tests': 27,
'regression_distinct_tests': 177,
'total_distinct_tests': 204,
'new_semantic_mutations': 7,
'source_files_verified': len(pins),
'lemma_closed': False,
'scientific_effect': 'NONE',
'meaning': 'same-author integrity-gate checks; not analytic review',
}, indent=2) + '\n')
print('DOWNSTREAM_GATE_PASSED')
PY
- name: Retain evidence even on failure
if: always()
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02
with:
name: downstream-gate-${{ github.run_id }}
path: ${{ runner.temp }}/downstream-gate-results
if-no-files-found: error
retention-days: 30
3 changes: 3 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@
| P15 failed extension | [Price-range counterexample](frontiers/three_fronts_20260924/P15_PRICE_BOUNDARY.md) | Unrestricted same-palette transformed-price extension is false |
| P15 valid price extension | [Low-probability transformed-price budget](frontiers/price_budget_20260924/PROOF.md) | New sufficient hypotheses: demand at least 2 and probabilities at most 1/4 |
| P15 full probability range | [Full transformed-price budget and sharp constant](frontiers/full_price_20260924/PROOF.md) | Demands at least 2; every independent probability vector; same palette; sharp uniform factor 1/[3-log(3e-2)] |
| Downstream hard gate | [Fail-closed promotion control](frontiers/downstream_gate_20260925/README.md) | [main #90](https://github.com/d6g8k5htny-coder/main/issues/90) / [#86](https://github.com/d6g8k5htny-coder/main/issues/86); integrity only; `lemma_closed` stays false |

All positive research claims here are author-side candidates pending nonauthor review. A merge publishes a source; a test checks its stated coverage. Neither independently accepts a theorem. The counterexample and the restricted successor concern different hypotheses. The full-range successor removes the probability cutoff, not the demand or realized-family hypotheses; the older 16/27 factor remains better on its smaller domain.

Expand All @@ -31,6 +32,8 @@ python -B -S frontiers/price_budget_20260924/price_budget.py
python -B -S -m unittest discover -s frontiers/price_budget_20260924 -p 'test_*.py' -v
python -B -S frontiers/full_price_20260924/full_price.py
python -B -S -m unittest discover -s frontiers/full_price_20260924 -p 'test_*.py' -v
python -B -S frontiers/downstream_gate_20260925/hard_gate.py
python -B -S -m unittest discover -s frontiers/downstream_gate_20260925 -p 'test_*.py' -v
```

The full-price package has 36 distinct tests and seven semantic mutation controls. Run `python -B -S frontiers/full_price_20260924/run_validation.py --output /tmp/full-price-new-run` for both modes; choose a new output directory outside the source tree. `--mode normal` or `--mode optimized` permits bounded split runs. Finite probability grids are checks, not the proof of the full-cube statement.
Expand Down
2 changes: 2 additions & 0 deletions frontiers/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,5 +7,7 @@
| Three fronts, 24 September 2026 | [Package overview](three_fronts_20260924/README.md) | Lifetime remainder, RN interface, realized P15 covers; also read the [separate price counterexample](three_fronts_20260924/P15_PRICE_BOUNDARY.md) |
| Transformed-price budget, 24 September 2026 | [Proof](price_budget_20260924/PROOF.md) | A valid restricted extension, exact local-budget checker, and the unchanged 816-label application |
| Full transformed-price range, 24 September 2026 | [Proof](full_price_20260924/PROOF.md) | All independent probabilities for demands at least 2; exact optimal uniform factor and the same palette; earlier counterexample remains valid at demand one |
| Fixed-remote RN window, 24 September 2026 | [Proof](remote_window_20260924/PROOF.md) | Cubic mean count on a fixed spatial exclusion and between-pin height window |
| Downstream hard gate, 25 September 2026 | [Package overview](downstream_gate_20260925/README.md) | Fail-closed promotion / reverse-impact integrity control for main #90/#86; scientific effect NONE |

These directories are source snapshots, not competing current-status registers. Consult [main #67](https://github.com/d6g8k5htny-coder/main/issues/67) and its successors for reviews and corrections. The RN numerical integral, original 24-jet certificates, and unrestricted P15 problems are not closed by these entries.
42 changes: 42 additions & 0 deletions frontiers/downstream_gate_20260925/D0_CI_UNBLOCK.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
# D0 CI unblock — main PR87 packet allowlist

**Object:** D0-PACKET-ALLOWLIST-FIX-20260925-v1
**Author:** Cursor. **Scientific effect: NONE.**

## Diagnosis

[main PR87](https://github.com/d6g8k5htny-coder/main/pull/87) (`chatgpt/downstream-crosswalk-20260925`) adds `docs/math_status/DOWNSTREAM_CROSSWALK_20260925.md`. Hardening `ci` / `math_status_check.py` fails with:

```text
PROBLEM packet: unexpected files ['DOWNSTREAM_CROSSWALK_20260925.md']
```

Observed on Actions runs `36135447237` and `36135443158`. Navigation and withdrawal-governance checks already SUCCEEDED.

Root cause: `EXPECTED_NAMES` / `TRANSCRIPTION_NAMES` in `tools/math_status_check.py` and `PACKET.json` transcriptions do not yet list the new crosswalk file.

Secondary hazard: the prose line `None sets D3 lemma_closed=true.` matches `ASSIGN_TRUE` and would fail after allowlisting; rephrase to `None promotes D3 lemma_closed.`

## Exact fix (ready to apply on main)

Portable patch: [`patches/d0_packet_allowlist.patch`](patches/d0_packet_allowlist.patch)

Applies on top of PR87 head `3d4969ab40d36a38ebf6ea1c3608035a706a7576`:

1. Register `DOWNSTREAM_CROSSWALK_20260925.md` in `TRANSCRIPTION_NAMES` and `NOTE_PHRASES`.
2. Pin sha256 `d53b286029d034576245406152c188fe2470ccb089e51f73e9087e34bf5a0e10` (4804 bytes) in `PACKET.json`.
3. Rephrase the `lemma_closed=true` negation as above.
4. Docstring: six → seven transcribed bodies.

Local verification after apply: `python tools/math_status_check.py` → `problems=0`, `lemma_closed=false`.

## Why this is filed in Math-

Cursor Cloud Agent has **Contents:Write on Math-** but received **403 pushing to `d6g8k5htny-coder/main`**. The fix was prepared and locally verified in a main worktree; it could not be published on that forge tip from this session. This note + patch are the source-bound D0/D7 unblock recipe for an agent/owner with main write access (or for merging into PR87).

## Non-claims

- Does not merge PR87.
- Does not flip any scientific Boolean.
- Does not edit Math- PR7.
- Does not touch the #91 Drive vault.
Loading
Loading