Skip to content

Releases: LynnColeArt/hubnot

Hubnot 0.0.3-dev — macOS migration portability fixes

Choose a tag to compare

@LynnColeArt LynnColeArt released this 27 Oct 14:22
01a152c

Hubnot 0.0.3-dev — macOS migration portability fixes

Mac verification: both standard and native-only Apple Silicon packages rebuilt from this exact source on a Mac passed the full integration scenario under the race detector, without path or TMPDIR workarounds. Testing of the exact Mac release binaries provided here is still pending, as is Intel runtime testing. The native Mac verification used Go 1.26.6; this release bundle uses Go 1.26.4.

This patch fixes the migration path failures reported in #16 and adds permanent Linux/macOS regression checks. Native Hubnot remains independent of GitHub and provider accounts.

  • Migration sessions and internal project/archive/imported-record spools share a filesystem policy that handles verified macOS system temp aliases, including CLI child environments without TMPDIR. Untrusted symlinks, unsafe private directories and destination/ref protections retain their refusal behavior.
  • Packager refusal fixtures construct committed Git trees directly, so file/directory case collisions and other nonportable entries are tested consistently on case-insensitive filesystems.
  • Object-database immutability fixtures disable automatic Git maintenance before committing; assertions remain unchanged.
  • Linux/macOS PR checks run filesystem/migration/packager regressions under normal temp environments and exercise actual native standard/native-only candidate archives through the public acceptance journey. These development checks add no runtime GitHub dependency.

Eight standard/native-only Linux AMD64/ARM64 and macOS Intel/Apple Silicon packages, an exact source archive, checksums and provenance are provided using Go and Git alone. Prebuilt applications require Git 2.x; Python and Go are not runtime requirements. Protected checks, automerge and audits remain independent opt-ins.

Validation and qualification

Source: 01a152cfbb822a7be9ccbc51dac34e3caa0cf925, merged PR #17. Compiler: Go 1.26.4. All eleven outputs reproduced byte-for-byte. Independent archive/source/executable/provenance checks passed. Exact Linux AMD64/ARM64 standard/native-only binaries passed runtime smoke checks; Linux AMD64 packages also passed the integrated public acceptance scenario.

The underlying source passed the full local race suite and Linux/macOS CI, including actual Apple Silicon proof-version packages with the normal temp environment. Native Mac verification additionally rebuilt the exact release source with Go 1.26.6 on macOS 26.5.1 and passed filesystem/packager regressions, unsafe-path/session-replacement checks, vet and both actual Apple Silicon package journeys (114.77s standard, 115.61s native-only). Runtime testing of the exact Go 1.26.4 / 0.0.3-dev Mac binaries in this release is still pending for both Intel and Apple Silicon. They passed cross-compilation, archive, architecture, checksum and provenance inspection. They are not Apple Developer ID signed or notarized.

Existing release tags and assets remain unchanged. Windows CLI distribution is outside this matrix, and Windows packager-host execution remains unverified. The complete Go-only packager matrix for this bundle ran on Linux; native Apple Silicon packager execution was separately demonstrated in CI for its native target pair.

Hubnot 0.0.2-dev — portable collaboration alpha

Choose a tag to compare

@LynnColeArt LynnColeArt released this 27 Oct 11:26
e80880a

Hubnot 0.0.2-dev — portable collaboration alpha

Mac runtime testing is still pending. Both macOS architectures have been cross-compiled and inspected. Linux AMD64 and ARM64 standard/native-only packages passed runtime smoke tests.

Hubnot can now bring selected code and project communications home, preserve them offline, and move supported content between Git providers through an inspectable migration plan. Native collaboration continues to require only Git. The protocol remains experimental.

  • Guided and scripted hn migrate share saved plan/apply/resume, explicit scope and loss/mapping decisions, and conservative recovery when a remote write has an uncertain result.
  • Optional GitHub, GitLab, Forgejo/Codeberg, Gitea, Bitbucket Cloud and Azure DevOps adapters report their tested profiles and supported resources. Bitbucket Cloud is source-only; Azure Boards supports explicitly mapped work items/comments, including projects without a repository. Preservation does not imply destination recreation.
  • Independent signed audit requests/results use separately adopted native rule authority and deliberate execution. Linked follow-up issues deduplicate retries and preserve operator edits. Audit outcomes neither qualify nor block merge checks.
  • noforge excludes every network adapter; nogithub retains its GitHub-specific meaning. Standard and native-only packages are provided for Linux AMD64/ARM64 and macOS Intel/Apple Silicon.
  • The new Go/Git-only packager replaces Python for this and subsequent releases. It produces deterministic archives, source, checksums and build provenance. Running prebuilt hn requires Git 2.x; source builds and packaging require Go and Git.
  • Retired tracked .nh configuration is removed, and test fixtures handle macOS physical temporary-directory paths consistently.

Protected rules, automerge, migrations and audits remain explicit opt-ins. Initialization installs no policy, scheduler, service or background worker. Imported users, reviews, workflows and policy grant no native signing, execution or approval authority.

Validation and qualification

Source: e80880abc792e2c386182e06027fc251b134c0d2, merged PR #14. The merged tree exactly matches its reviewed head. The mission's fresh full race suite and final pre-merge vet/build/targeted race checks passed. All eleven versioned package outputs were built twice and compared byte-for-byte; independent verification checked exact source, archive membership, executable architecture, static Linux linking, build metadata and digests.

Both standard/native-only Linux AMD64 and ARM64 packages passed runtime smoke checks with Git-only application PATH and no provider credentials, including signed native issues, archive migration, exact imported actor history and local continuation. These are release-binary smoke checks; no new full ARM64 Go-suite run is claimed.

macOS Intel/Apple Silicon packages were cross-compiled and inspected; release-binary runtime testing on a Mac remains pending. They are not Developer ID signed or notarized. macOS/Windows packager-host execution remains unverified. Windows CLI distribution is outside this release matrix.

Existing v0.0.1-dev tags and assets remain unchanged, including their historical Python archive-reproduction requirement. Scheduling, batching and queue workers remain follow-on work.

Hubnot 0.0.1-dev — operational alpha

Pre-release

Choose a tag to compare

@LynnColeArt LynnColeArt released this 25 Oct 14:40
f82b574

Hubnot 0.0.1-dev — operational alpha

First packaged prerelease, built from merged main commit
f82b57420f0c825a9ea6f3b9f93ede680c8cf06f (PR #8).
The executable reports 0.0.1-dev; this release preserves the exact merged
source without a version-only patch. The software remains an experimental alpha
with an evolving protocol.

Downloads

Platform Architecture Standard archive Native-only archive
Linux Intel / AMD 64-bit hubnot_0.0.1-dev_linux_amd64.tar.gz hubnot_0.0.1-dev_linux_amd64_native-only.tar.gz
Linux ARM64 hubnot_0.0.1-dev_linux_arm64.tar.gz hubnot_0.0.1-dev_linux_arm64_native-only.tar.gz
macOS 12+ Intel hubnot_0.0.1-dev_darwin_amd64.tar.gz hubnot_0.0.1-dev_darwin_amd64_native-only.tar.gz
macOS 12+ Apple Silicon hubnot_0.0.1-dev_darwin_arm64.tar.gz hubnot_0.0.1-dev_darwin_arm64_native-only.tar.gz

Both variants contain the executable hn, MIT license, installation instructions,
build provenance, and the complete product documentation. Install one variant.
Git 2.x is required on PATH; Go and Docker are unnecessary for running the CLI.
Linux binaries are statically linked. macOS deployment target 12.0 was checked
in every Mach-O executable.

Standard builds include the optional GitHub transfer adapter. They require no
GitHub account or service for native operation and do not invoke gh for local
compatibility commands. Native-only builds exclude the GitHub transport at compile
time and retain the native workflows, projects, discussions, issues, governance,
and local hn gh issue command subset.

Included features

  • Signed, Git-backed issues, planning projects, threaded discussions, workflows,
    proposals, reviews, CI evidence, agent memory, and selected replication.
  • Local gh-style issue commands and explicit provider-neutral import/export,
    with GitHub as the first optional adapter.
  • Opt-in protection for lint configuration and required-check definitions, with
    designated independent approvals and protection against hidden baseline reverts.
  • Explicit, one-shot rule-based native automerge with signer, path, author,
    branch, policy, and current evidence checks.

Protected checks and automerge are independently disabled by default. No
background process starts, no repository policy is changed by installation, and
neither feature depends on GitHub.

Installation

Download the archive for your OS and CPU plus SHA256SUMS. Verify the archive:

# Linux (when only some release assets were downloaded)
sha256sum --ignore-missing -c SHA256SUMS

# macOS: compare this output with the matching SHA256SUMS entry
shasum -a 256 hubnot_0.0.1-dev_darwin_arm64.tar.gz

Extract the archive and enter its directory, then:

mkdir -p "$HOME/.local/bin"
install -m 0755 hn "$HOME/.local/bin/hn"
export PATH="$HOME/.local/bin:$PATH"
hn version

Persist the PATH setting in your shell configuration if necessary. Inside a Git
working repository, run hn init --name "My device". See README.md and docs/
inside the archive for usage and explicit policy configuration.

Verification and platform limits

All eight archives passed content, permissions, binary architecture, and
provenance checks. A second clean build reproduced every generated package
byte-for-byte using Go 1.26.4. Both packaged Linux AMD64 variants passed real CLI
smoke checks for identity creation, signed issues, local gh compatibility,
native resource commands, and disabled policy defaults, with only Git on PATH
and no forge credentials or remotes.

The unchanged source passed the full race suite, full nogithub suite, vet,
native acceptance matrix, and independent review before merge. Detailed evidence
is in kitty-specs/opt-in-policy-rules-01M5S8RZ/validation-report.md inside the
source archive. verification.json records the fresh package checks.

Linux ARM64 packages have now been runtime-tested on ARM64 Ubuntu 24.04 with
Git 2.43. Both standard and native-only variants passed the original public
resource and policy acceptance matrices, including signed replication, protected
checks, disabled defaults, and explicit automerge/refusal cases. The packaged
standard executable also passed rich-issue lifecycle/consumer, replication, agent
memory, and self-hosting scenarios. All six selected acceptance scenarios passed;
this was not a fresh full unit/race suite.

The remote Go compiler was too old for this source, so the acceptance harness
and example consumer were cross-compiled from the exact release commit. Only
binary-selection test fixtures changed; original scenario commands and assertions
were retained. An initial consumer-fixture setup failure is preserved in
arm64-acceptance.log; the corrected affected scenario passed in
arm64-rich-issues-retry.log. See linux-arm64-verification.json and
linux-arm64-harness-fixture.diff for provenance and details. The immutable
archives and their checksums are unchanged; their installation text captures
build-time coverage, superseded by this ARM64 verification.

The exact packaged macOS Apple Silicon executables (standard and native-only)
have now passed startup, identity creation, signed issue creation and issue-list
smoke tests on macOS 26.5.1 / arm64. Intel executables were inspected as x86_64
Mach-O files but have not been runtime-tested; Rosetta is not installed on the
verification Mac. See macos-verification.log for the package checks and
macos-unsigned.txt for distribution details. Embedded installation notes reflect
the original build-time coverage; this release page supersedes that coverage.

These macOS downloads are intentionally unsigned for distribution: they have
no Apple Developer ID signature or notarization. macOS may block a quarantined
download and require the user to approve it in Privacy & Security. The default pipeline execution sandbox requires Linux bubblewrap;
macOS has no bundled safe CI execution backend. Explicit unsafe host execution
retains its existing opt-in requirement.

Source and reproducibility

hubnot_0.0.1-dev_source.tar.gz contains the 531 tracked files from the exact
release commit, without Git metadata or local private identities. build-release.py
rebuilds all binary archives, the source archive, and the release manifest from a
local Git checkout containing that commit:

python3 build-release.py --repo /path/to/hubnot --output /empty/path

Requires Python 3.12+, Git, and Go 1.26.4. Builds disable CGO and network module
resolution. The script performs no GitHub operations. SHA256SUMS covers every
release asset other than itself; release-manifest.json and each archive's
BUILDINFO.json identify the source, compiler, target, flags, and binary digest.