# v1.2.0 publication and current-tag readback

Original release verified at: `2026-08-28T21:52Z`. Current tag and archive
reverified at: `2026-08-30T21:03Z`.

```text
VERSION: 1.2.0
TAG: v1.2.0
COMMIT_SHA: 46feb1e95567db6967ea718cb75051c507ada02f
TREE_SHA: 4288d4cd89a4a10cad55b790793ed1353f711ebc
RELEASE_URL: https://github.com/nobrainer-tech/nobrainer-tech-skills/releases/tag/v1.2.0
TARBALL_URL: https://github.com/nobrainer-tech/nobrainer-tech-skills/archive/refs/tags/v1.2.0.tar.gz
TARBALL_FILENAME: v1.2.0.tar.gz
TARBALL_SHA256: 896ddd4a2fd77839a1bf9599d85fc2306cb135bddf3b2dcf521f11e57ddcb39f
PR_CI_RUN: 33214075697
MAIN_CI_RUN: 33214127416
GITHUB_RELEASE_IMMUTABLE: false
TAG_PROTECTION_STATUS: NOT_VERIFIED
ARCHIVE_FILE_MATCH: PASS
ARCHIVE_SKILL_COUNT: 15
REPOSITORY_TESTS_PASSED: 86
REPOSITORY_TESTS_FAILED: 0
REPOSITORY_TESTS_TOTAL: 86
REPOSITORY_TESTS_STATUS: PASS
ARCHIVE_TESTS_PASSED: 85
ARCHIVE_TESTS_FAILED: 1
ARCHIVE_TESTS_TOTAL: 86
ARCHIVE_TESTS_STATUS: FAIL
ARCHIVE_TEST_FAILURE: frozen attributes test required the source repository .git directory
ARCHIVE_QUICK_VALIDATE: 15/15 PASS
ARCHIVE_SOURCE_SECRET_SCAN: PASS
INSTALL_READBACK: PASS
ACCEPTANCE: FAIL
PLANNED_REMEDIATION: v1.2.1
PLANNED_REMEDIATION_STATUS_AT_READBACK: UNVERIFIED_RELEASE_CANDIDATE
SUPERSEDED_BY: v1.2.1
SUPERSEDING_RELEASE_ACCEPTANCE: PASS
ROLLBACK_COMMIT_SHA: 711be31d654835a04ef8c70674c3e493aeb2da8a
ROLLBACK_TARBALL_SHA256: 1a05186234487df1fa2381a291b53141a5fad6347d24f1638fc86b961abb7f5e
```

## GitHub state

- Release: [NoBrainer Tech Skills v1.2.0](https://github.com/nobrainer-tech/nobrainer-tech-skills/releases/tag/v1.2.0)
- Published at: `2026-08-28T21:49:31Z`
- Current tag and source commit:
  `46feb1e95567db6967ea718cb75051c507ada02f`
- The release API retains its historical target; it is not the current tag ref
  after the metadata-only history rewrite.
- Git tree: `4288d4cd89a4a10cad55b790793ed1353f711ebc`
- Source PR: [#25](https://github.com/nobrainer-tech/nobrainer-tech-skills/pull/25)
- PR CI: [run 33214075697](https://github.com/nobrainer-tech/nobrainer-tech-skills/actions/runs/33214075697), Ubuntu and macOS passed
- Merged-main CI: [run 33214127416](https://github.com/nobrainer-tech/nobrainer-tech-skills/actions/runs/33214127416), the tree-equivalent pre-rewrite commit passed
- GitHub release API flags: `draft: false`, `prerelease: false`,
  `immutable: false`

The release object is not immutable according to GitHub's API. Tag protection
was not independently verified. The current tag preserves the same tree across
a metadata-only history rewrite; historical CI binds that tree, not the current
commit identity. GitHub documents that tag archives can change when a tag
moves, so pin the full current commit SHA above when that risk is unacceptable.

## Downloaded source archive

The downloaded tarball matched `git archive v1.2.0` exactly, contained all
fifteen skills, passed the canonical validator, passed all fifteen installed
copy validations and passed a fresh source-only Gitleaks scan. One of 86 unit
tests failed because it ran `git check-attr` in the archive root even though a
GitHub source archive intentionally contains no `.git` directory.

The repository suite passed all 86 tests before publication; the downloaded
archive then exposed the portability defect. This is not evidence that the
frozen payload policy itself was wrong. `v1.2.1` preserves the actual
`git check-attr` assertion in an isolated Git repository, adds a full
`.git`-less acceptance regression and passed its own independent archive
readback; see [the v1.2.1 evidence](v1.2.1.md).

## Proof boundary

`v1.2.0` is published but fails the package's full acceptance contract because
the archive-native unit suite is not green. Use the accepted `v1.2.1` release
at full commit `0010140d19a7ff847dff776569772ef04d82c314`, or roll back to the
accepted `v1.1.0` commit `711be31d654835a04ef8c70674c3e493aeb2da8a`.
The commit SHA is the content identity; GitHub may regenerate a compressed
archive with different outer bytes. This evidence does not claim client
marketplace distribution, native client loading, clean-session routing,
production behavior or buyer usefulness.
