Public doctrine & publishing

pubskill-lib

frontier

Public distribution of skill-lib: clone, run, get findings. Canon remains The-Interdependency/skill-lib.

Purpose within the whole

A reviewed project purpose has not yet been declared.

Repository self-description · exact-head projection

MSDMD

missing 0 declarations 0 gaps 0 edges

Collection pubskill-lib_msdmd.ts at 06d8efa1c420. The repository remains source authority; this page only projects it.

Refresh reads the repository's current public HEAD without mutating it. The build-time exact-head projection remains the fallback.

Repository-owned reading surface

Documentation

README and Markdown documentation are copied from the exact repository head recorded by this site build. A live refresh can replace this view with the repository's current public HEAD for this browser session.

README · 06d8efa1c420

pubskill-lib

Public distribution of skill-lib.

Clone this repo when you want a command that inspects a local repository and writes findings. The full catalog, org doctrine, and unfinished skills stay in skill-lib. This repo is the subset a stranger can run.

Status

The current source version is 0.2.1. Published versions and their immutable artifacts are listed on GitHub Releases; the already-published v0.2.0 remains immutable.

Claim State
Canon The-Interdependency/skill-lib
This repo distribution + public CLI + fixtures
Clone / run / findings Source and built-artifact gates described below
VM populate HANDOFF.vm.md
Source pin SOURCE.md

If a command is not in this README, it is not a public promise.

Quickstart

git clone https://github.com/The-Interdependency/pubskill-lib
cd pubskill-lib
python -m venv .venv && source .venv/bin/activate
python -m pip install -e .
python -m unittest discover -s tests
python -m pubskill_lib.audit examples/neglected-repo --out /tmp/findings.json

Those commands were the release gate for the first utility tag, v0.2.0. That tag is already published and immutable. Keep the same clean-checkout gate as the source baseline, but do not recreate, move, or republish v0.2.0; any later publication must use its own version identity after the applicable release gate passes.

Reproduce release artifacts

From the release’s exact Git commit, install the pinned build tools and build into two empty directories:

python -m pip install uv==0.11.18
uv venv --managed-python --python 3.11.15 /tmp/pubskill-build-env
. /tmp/pubskill-build-env/bin/activate
uv pip install --python /tmp/pubskill-build-env/bin/python -r requirements-build.txt
python tools/build_release.py --out /tmp/pubskill-build-a
python tools/build_release.py --out /tmp/pubskill-build-b
diff /tmp/pubskill-build-a/SHA256SUMS /tmp/pubskill-build-b/SHA256SUMS

The builder uses only committed source, normalizes source and wheel archive headers, ordering, and permissions, and requires zlib 1.3.1 at compile time and runtime, and records its identity along with source, doctrine, toolchain, and artifact digests in release-manifest.json. CI compares builds under both 022 and 077 file-creation masks; wheel payloads and their RECORD hashes remain unchanged by archive normalization. It does not publish. Before publication, install the exact wheel in a fresh venv, run the tests and fixture from the extracted sdist, and inspect a real consumer. The wheel retains its canonical skill-lib source pin without requiring a checkout.

Download the wheel, source archive, manifest, and SHA256SUMS from the chosen release. Verify the downloaded files with sha256sum -c SHA256SUMS, then install the verified wheel by substituting the chosen release version:

VERSION=0.2.0
python -m pip install --no-deps "./pubskill_lib-${VERSION}-py3-none-any.whl"

Checksums establish byte identity; they are not a signature or a blanket health claim.

Inspect CLI

v0.2 inspects one local repository path without executing the target repository:

python -m pubskill_lib.audit PATH --out findings.json

It writes:

  • identity when the target contains .git (remote, commit, dirty state)
  • README links to missing local files or paths that escape the repository
  • obvious test-workflow no-ops
  • Python pyproject.toml console scripts whose modules are missing
  • direct local package.json script targets whose referenced files are missing or escape the repository
  • findings classified as defect, environment, external, policy, or hmmm

The inspector does not yet clone URLs, select remote commits, execute target tests, or repair the target. Those are later capabilities and must not be inferred from the schema.

Direct script inspection handles interpreter flags and their arguments, such as python -W ignore app.py, node --require preload.js app.js, and bash -o errexit build.sh. Shell expansion and indirect launcher commands remain outside this static inspection contract.

Repository examiner (BYOK)

A separate documentation examiner builds on the repository evidence substrate:

python -m pubskill_lib.examine --repo /path/to/repo --json
python -m pubskill_lib.examine --repo /path/to/repo --apply --narrate

With --apply, the examiner inventories actual code, writes descriptive NARRATIVE msdmd blocks into supported source files, maintains source-boundary RATIOS placement, and assembles docs/examiner/EXAMINER.md. Narratives are evidence-bound to the source hash that produced them; changed source without a re-narrate is marked stale. The tool never writes outside the repository boundary it was pointed at.

BYOK credentials may come from the process environment or a .env file. .env files are ignored by this repository. To prevent a target repository from redirecting an operator credential, provider base-URL overrides are accepted only from the process environment, not from .env:

OPENAI_API_KEY / OPENAI_MODEL
ANTHROPIC_API_KEY / ANTHROPIC_MODEL
OPENAI_BASE_URL / ANTHROPIC_BASE_URL   # process environment only

Multiple configured providers are attempted sequentially as fallback. Unsupported or not-faithfully-computable metrics remain hmmm; they are not guessed.

UTF-8 byte-order marks are preserved during source mutation. Files whose protected coding cookies conflict with the pinned canonical RATIOS placement are left intact and reported as hmmm; this consumer cannot expand canonical placement rules. If generated prose cannot be encoded in the source encoding, the file is also left intact with hmmm. Existing narratives remain available in assembled documentation even when a file has no safe mutation adapter.

License

MPL-2.0, same as skill-lib. Changes to MPL-covered files must be published.

Canon

Do not add skills here first. Add them in skill-lib, mark them appropriately, pin the SHA in SOURCE.md, then propagate the public slice.

Source updates preserve the original inode in a private .examiner-originals-* directory beside the file, recorded under preserved_sources in the apply report. These recovery directories are excluded from examiner inventory and should not be committed. The required hard-link operations are probed before source is moved. Publication briefly withdraws the old name, then creates the updated name only if it remains absent; it never replaces a competing live file. A collision or observed write to the retained original records hmmm. Already-open writers can still change the retained original after the operation; stop editors and generators before applying, then inspect recovery files before removing them. This protocol preserves bytes; it does not claim a transactional edit shared with uncooperative writers or uninterrupted availability to concurrent readers.

Source publication currently requires Linux inode metadata support. Ownership, permission bits, ACL/xattr/security-label bytes are copied and compared before publication; an unavailable operation leaves the source intact with hmmm. The generated volume uses a new source inventory after application, so preserved concurrent edits can mark their older narratives stale. Direct-script audit is intentionally bounded: unsupported commands, malformed quoting, shell expansions/control syntax, and working-directory transitions remain visible as hmmm. Later commands after an unresolved shell context inherit that uncertainty; the tool does not guess their working directory or entrypoint.

Open exact README source

Repository documents

The static page indexes exact-head documents without duplicating their full bytes into the site artifact. Use Refresh MSDMD + docs above to render the current public copies here.

Documentation provenance
Repository
pubskill-lib
Consumed HEAD
06d8efa1c4200a08e60ea61cec088ef18236b631
Default branch
main
Projected documents
6
Projection mode
exact-head build observation

Public surfaces

Primary artifact
hmmm
Documentation
Rendered above from repository source
Default branch
main
Primary language
Python
License
MPL-2.0
Last push
2026-09-27T16:25:08Z

hmmm

Editorial project role is inferred from public GitHub metadata until a reviewed .interdependency/project.yml is added.

hmmm

Project maturity has not been explicitly declared.