Skip to content

chore(deps): update content lock to v1.8.13 - #180

Merged
zoeyrose merged 1 commit into
mainfrom
automation/content-update
Aug 12, 2026
Merged

zoeyrose merged 1 commit into
mainfrom
automation/content-update

Conversation

@atrinik-classic-dependency-updater

@atrinik-classic-dependency-updater atrinik-classic-dependency-updater Bot commented Aug 12, 2026 •

Copy link
Copy Markdown
Contributor

Updates the Classic server content lock after complete release verification.

Verified coordinate

Field Old New
tag v1.2.0 v1.8.13
commit 766cb6e67aa03dd86b1c333c607885df31c3aca5 7179e684adbc0716db334425de16d788ddc0c87e
url https://github.com/atrinik/content/releases/download/v1.2.0/atrinik-content-1.2.0-runtime.tar.gz https://github.com/atrinik/content/releases/download/v1.8.13/atrinik-content-1.8.13-runtime.tar.gz
sha256 06dd946dbd121429d4a2b8b5ac1de02e7561b723916f6400b3e87134364ac4c2 19161c9dc4a528740cd59a1460cbe3f1e8a48cf7a1ec8f4d4e8ff04f1be78de4

Verification

  • Enumerated all published content releases with bounded pagination.
  • Verified the tag, runtime asset, SHA256SUMS, archive safety, manifest, compatibility, file digests, and license attributions.
  • Confirmed the selected commit is a strict descendant of the previously locked commit.
  • Re-ran the existing server dependency-lock loader before mutation.

Generated by the repository-owned verified content updater. This pull request is never approved or merged by that automation.

@codecov

codecov Bot commented Aug 12, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@zoeyrose

Copy link
Copy Markdown
Member

The generated lock is structurally correct, but its normal Server validation exposed a real content runtime defect in v1.8.8: QuestManager.use_qp() calls isinstance(delay, (int, None)), which raises TypeError for repeat quests with no configured delay.

Do not merge this PR yet. Paired owner fixes are under review:

After the 1.x fix merges and normal Semantic Release publishes the corrected patch, the repository-owned updater will refresh this same App branch/PR to the new verified coordinate and CI must pass.

zoeyrose added a commit to atrinik/content that referenced this pull request Aug 12, 2026
## Summary

- replace the invalid `isinstance(..., (int, None))` repeat-delay check
with the valid `NoneType`
- preserve the existing acceptance of integer delays and unset delays
- deliver the compatible fix on `main`; paired `1.x` companion:
#170

## Validation

- `python3 -m compileall -q maps/python`
- `python3 tools/validate.py`
- `git diff --check`

## Program context

Discovered by the App-authored lock PR
atrinik/classic#180 while delivering
atrinik/atrinik#356 and atrinik/classic#169. PR #180 must not merge
until a corrected 1.x release is published and the updater refreshes it.

This PR intentionally does not close the program or Classic issue;
downstream publication, lock, rehearsal, and audit gates remain.
zoeyrose added a commit to atrinik/content that referenced this pull request Aug 12, 2026
## Summary

- replace the invalid `isinstance(..., (int, None))` repeat-delay check
with the valid `NoneType`
- unblock Classic's existing repeat-quest regression test with an unset
delay
- deliver the maintained Classic-line companion to canonical `main` PR
#169

## Validation

- `python3 -m compileall -q maps/python`
- `python3 tools/validate.py`
- `git diff --check`

## Program context

Discovered by the App-authored lock PR
atrinik/classic#180 while delivering
atrinik/atrinik#356 and atrinik/classic#169. PR #180 must not merge
until a corrected 1.x release is published and the updater refreshes it.

This maintenance PR should publish the next `1.8.x` patch through normal
Semantic Release after merge. It intentionally does not close the
program or Classic issue.
@atrinik-classic-dependency-updater atrinik-classic-dependency-updater Bot changed the title chore(deps): update content lock to v1.8.8 chore(deps): update content lock to v1.8.10 Aug 12, 2026
@zoeyrose

Copy link
Copy Markdown
Member

Stage 5 reached a second fail-closed owner correction.

The v1.8.10 runtime is correctly published and verified, and updater run https://github.com/atrinik/classic/actions/runs/31553485823 refreshed the same App PR #180 in place to exact head a3fc6e1561df1ca75d0fcc0a97afb0a0e39feb29.

The original TypeError is fixed. Server validation now reaches the regression's final assertion and shows that the fixture consumes its only available quest point while production intentionally retains terminal repeat state until another point is available. Production behavior remains unchanged; paired fixture fixes establish/assert the prerequisite and restore all mutated state:

  1. main: fix(quests): isolate repeat reset prerequisites content#172 at 7b5047b4513886a6c0a6eb518304d23fe14511d9
  2. 1.x: fix(quests): isolate repeat reset prerequisites content#173 at 3d60a7a573e5d4c7ca8880adf5144099a0276157

Both PRs are mergeable clean, all local and remote checks pass, and they have no actionable conversations. Merge #172 first, then #173. Do not merge Classic #180 until the next 1.8.x runtime publishes, the App refreshes it, and full Classic validation passes.

zoeyrose added a commit to atrinik/content that referenced this pull request Aug 12, 2026
## Summary

- make the repeat-quest reset regression establish its
available-quest-point prerequisite
- isolate and restore player level plus quest-point state
- preserve production reset and cooldown behavior
- paired `1.x` companion: #173

## Validation

- `python3 -m compileall -q maps/python`
- `python3 tools/validate.py`
- `git diff --check`

## Program context

Classic PR atrinik/classic#180 proved that the
v1.8.10 runtime correction reaches the repeat-reset assertion. The
remaining failure is a fixture precondition: the test player has only
one available quest point, and production correctly retains terminal
repeat state until another point is available.

The test now establishes and asserts available quest points, isolates
quest-point/player-level state, and restores every mutation with
`addCleanup`. Production quest behavior is unchanged.

This PR does not close atrinik/atrinik#356 or atrinik/classic#169;
release and lock gates remain.
zoeyrose added a commit to atrinik/content that referenced this pull request Aug 12, 2026
## Summary

- make the repeat-quest reset regression establish its
available-quest-point prerequisite
- isolate and restore player level plus quest-point state
- preserve production reset and cooldown behavior
- canonical `main` change: #172

## Validation

- `python3 -m compileall -q maps/python`
- `python3 tools/validate.py`
- `git diff --check`

## Program context

Classic PR atrinik/classic#180 proved that the
v1.8.10 runtime correction reaches the repeat-reset assertion. The
remaining failure is a fixture precondition: the test player has only
one available quest point, and production correctly retains terminal
repeat state until another point is available.

The test now establishes and asserts available quest points, isolates
quest-point/player-level state, and restores every mutation with
`addCleanup`. Production quest behavior is unchanged.

This `fix` maintenance change must publish the next 1.8.x runtime so
Classic consumes the corrected fixture. It does not close
atrinik/atrinik#356 or atrinik/classic#169.
@atrinik-classic-dependency-updater atrinik-classic-dependency-updater Bot changed the title chore(deps): update content lock to v1.8.10 chore(deps): update content lock to v1.8.12 Aug 12, 2026
@zoeyrose

Copy link
Copy Markdown
Member

Classic PR #180 consumed verified v1.8.12 and exposed the remaining fixture/API mismatch: the test attempted activator.level = 10, while Classic correctly exposes player level as read-only.

The revised paired fixes preserve production and API behavior. They consume the naturally available point, advance the writable quest-container restoration clock by 20 hours, assert full point restoration, and then verify repeat reset:

  1. main: fix(quests): model repeat point restoration content#174 at eb1e62354cbfe40bc6ec551305af75db8f9b5b45
  2. 1.x: fix(quests): model repeat point restoration content#175 at 5997021dfe6ad9a974d096c7b0b8d575268f5551

Both are mergeable clean, all local and remote checks pass, and they have no actionable conversations. Merge #174 first, then #175. Keep Classic #180 unmerged until the next 1.8.x release is verified and the App refresh passes the complete Classic suite.

zoeyrose added a commit to atrinik/content that referenced this pull request Aug 12, 2026
## Summary

- remove the invalid player-level mutation from the repeat-reset
regression
- model elapsed quest-point restoration through the production
quest-container clock
- assert full restoration before verifying repeat-state reset
- paired `1.x` companion: #175

## Validation

- `python3 -m compileall -q maps/python`
- `python3 tools/validate.py`
- `git diff --check`

## Program context

Classic PR atrinik/classic#180 consumed v1.8.12
and proved that the prior fixture attempted to mutate player `level`,
which the Classic Python API correctly exposes as read-only.

This correction leaves player state untouched. It starts with all
naturally available points, consumes the point through production
`fail()`, advances the writable quest-container restoration clock by 20
hours, asserts full point restoration, and verifies that repeat-state
reset then occurs. All mutated quest-container state is restored with
`addCleanup`; production code is unchanged.

This PR does not close atrinik/atrinik#356 or atrinik/classic#169.
zoeyrose added a commit to atrinik/content that referenced this pull request Aug 12, 2026
## Summary

- remove the invalid player-level mutation from the repeat-reset
regression
- model elapsed quest-point restoration through the production
quest-container clock
- assert full restoration before verifying repeat-state reset
- canonical `main` change: #174

## Validation

- `python3 -m compileall -q maps/python`
- `python3 tools/validate.py`
- `git diff --check`

## Program context

Classic PR atrinik/classic#180 consumed v1.8.12
and proved that the prior fixture attempted to mutate player `level`,
which the Classic Python API correctly exposes as read-only.

This correction leaves player state untouched. It starts with all
naturally available points, consumes the point through production
`fail()`, advances the writable quest-container restoration clock by 20
hours, asserts full point restoration, and verifies that repeat-state
reset then occurs. All mutated quest-container state is restored with
`addCleanup`; production code is unchanged.

This maintenance fix must publish a corrected 1.8.x runtime before
Classic PR #180 can merge.
@atrinik-classic-dependency-updater atrinik-classic-dependency-updater Bot changed the title chore(deps): update content lock to v1.8.12 chore(deps): update content lock to v1.8.13 Aug 12, 2026
@zoeyrose

Copy link
Copy Markdown
Member

The earlier do-not-merge holds are now superseded.

Final verified state:

  • content release: v1.8.13
  • content commit: 7179e684adbc0716db334425de16d788ddc0c87e
  • runtime SHA-256: 19161c9dc4a528740cd59a1460cbe3f1e8a48cf7a1ec8f4d4e8ff04f1be78de4
  • App PR head: cdac67dc6983668fd45b9a2547b324a0fde342c4
  • base/current Classic main: d967045813987bad34bd8c7d44539719d340a5f4
  • diff: exactly server/dependencies.lock.json, changing only tag, commit, URL, and SHA-256
  • ownership: exactly one commit by atrinik-classic-dependency-updater[bot]
  • checks: complete Classic validation green, including Server validation, Core validation, integrated graph, Windows build/security, CodeQL, patch coverage, and aggregate
  • conversations: no reviews or review comments; only informational audit history and Codecov

PR #180 is ready for ordinary human review and squash merge. Keep #169 and atrinik/atrinik#356 open: release rehearsal, normal Classic release, artifact/runtime audit, and schedule activation remain after this merge.

@zoeyrose
zoeyrose merged commit 90dc394 into main Aug 12, 2026
15 checks passed
@zoeyrose
zoeyrose deleted the automation/content-update branch August 12, 2026 03:13
zoeyrose added a commit to atrinik/content that referenced this pull request Aug 23, 2026
## Summary

- replace the invalid `isinstance(..., (int, None))` repeat-delay check
with the valid `NoneType`
- preserve the existing acceptance of integer delays and unset delays
- deliver the compatible fix on `main`; paired `1.x` companion:
#170

## Validation

- `python3 -m compileall -q maps/python`
- `python3 tools/validate.py`
- `git diff --check`

## Program context

Discovered by the App-authored lock PR
atrinik/classic#180 while delivering
atrinik/atrinik#356 and atrinik/classic#169. PR #180 must not merge
until a corrected 1.x release is published and the updater refreshes it.

This PR intentionally does not close the program or Classic issue;
downstream publication, lock, rehearsal, and audit gates remain.
zoeyrose added a commit to atrinik/content that referenced this pull request Aug 23, 2026
## Summary

- make the repeat-quest reset regression establish its
available-quest-point prerequisite
- isolate and restore player level plus quest-point state
- preserve production reset and cooldown behavior
- paired `1.x` companion: #173

## Validation

- `python3 -m compileall -q maps/python`
- `python3 tools/validate.py`
- `git diff --check`

## Program context

Classic PR atrinik/classic#180 proved that the
v1.8.10 runtime correction reaches the repeat-reset assertion. The
remaining failure is a fixture precondition: the test player has only
one available quest point, and production correctly retains terminal
repeat state until another point is available.

The test now establishes and asserts available quest points, isolates
quest-point/player-level state, and restores every mutation with
`addCleanup`. Production quest behavior is unchanged.

This PR does not close atrinik/atrinik#356 or atrinik/classic#169;
release and lock gates remain.
zoeyrose added a commit to atrinik/content that referenced this pull request Aug 23, 2026
## Summary

- remove the invalid player-level mutation from the repeat-reset
regression
- model elapsed quest-point restoration through the production
quest-container clock
- assert full restoration before verifying repeat-state reset
- paired `1.x` companion: #175

## Validation

- `python3 -m compileall -q maps/python`
- `python3 tools/validate.py`
- `git diff --check`

## Program context

Classic PR atrinik/classic#180 consumed v1.8.12
and proved that the prior fixture attempted to mutate player `level`,
which the Classic Python API correctly exposes as read-only.

This correction leaves player state untouched. It starts with all
naturally available points, consumes the point through production
`fail()`, advances the writable quest-container restoration clock by 20
hours, asserts full point restoration, and verifies that repeat-state
reset then occurs. All mutated quest-container state is restored with
`addCleanup`; production code is unchanged.

This PR does not close atrinik/atrinik#356 or atrinik/classic#169.
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.

1 participant