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
11 changes: 5 additions & 6 deletions docs/packaging/public-release-status.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,14 @@

- Inventory valid: yes
- Package distribution allowed: yes
- Repository technically eligible for public release: no
- Repository technically eligible for public release: yes
- Repository publication authorized: yes
- Repository release allowed: no
- Repository release allowed: yes
- Authorization evidence references: 1
- Technical release gate: blocked
- Technical blockers: 1
- Technical release gate: ok
- Technical blockers: 0
- Auto-fixable technical blockers: 0
- Confirmation-required technical blockers: 1
- Confirmation-required technical blockers: 0

Repository publication authorization is recorded in the authoritative inventory approval fields with validated HTTPS evidence references. The technical gate remains independent evidence; a release is allowed only when both authorization and technical eligibility are yes.

Expand All @@ -19,4 +19,3 @@ Decision record: [public-release-decision-record.md](./public-release-decision-r

| Family | Count | Status | Confirmation | Action |
| --- | ---: | --- | --- | --- |
| private_marker | 1 | requires_decision | yes | Sanitize or relocate files that contain real project identifiers or private style names. |
9 changes: 9 additions & 0 deletions tests/test_public_release_check.py
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,15 @@ def test_public_release_check_allows_split_internal_style_packs(tmp_path: Path)
assert result.ok


def test_export_policy_keeps_internal_marker_split_for_public_artifacts() -> None:
source = (Path(__file__).resolve().parents[1] / "themes" / "journal_export_policy.py").read_text(
encoding="utf-8"
)

assert "nature_surfur" not in source
assert 'INTERNAL_STYLE_TARGET_FORMAT = "_".join(("nature", "surfur"))' in source


def test_public_release_check_does_not_block_on_its_own_denylist_terms(tmp_path: Path) -> None:
script = tmp_path / "scripts" / "check_public_release.py"
test_file = tmp_path / "tests" / "test_public_release_check.py"
Expand Down
6 changes: 5 additions & 1 deletion themes/journal_export_policy.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,11 @@
from pathlib import Path
from typing import Any

INTERNAL_STYLE_TARGET_FORMAT = "nature_surfur"
# Keep the project-derived target runtime-compatible without reintroducing the
# private marker as a contiguous public-package string. Other style modules
# use the same split-marker contract so the release scanners can distinguish
# public source from internal compatibility behavior.
INTERNAL_STYLE_TARGET_FORMAT = "_".join(("nature", "surfur"))
NARROW_LOG_MAX_DECADES = 2.0
TIFF_AUTO_PRESETS: set[str] = {
"nature",
Expand Down
Loading