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
41 changes: 18 additions & 23 deletions ARCHITECTURE.md → ARCHITECTURE.adoc
Original file line number Diff line number Diff line change
@@ -1,19 +1,14 @@
<!--
SPDX-License-Identifier: CC-BY-SA-4.0
SPDX-FileCopyrightText: 2026 Jonathan D.A. Jewell (hyperpolymath)
-->
== Architecture

# Architecture

`technical-notes` is a documentation archive, not a software project:
`+technical-notes+` is a documentation archive, not a software project:
it holds short, citable technical notes (Markdown, optionally with a
Typst source and rendered PDF) that are individually deposited on
Zenodo with a DOI. There is no source code, no build system, and no
runtime component.
Typst source and rendered PDF) that are individually deposited on Zenodo
with a DOI. There is no source code, no build system, and no runtime
component.

## Layout
=== Layout

```
....
.
├── README.md # index of published notes (title, date, DOI)
├── <note-slug>.md # note source (Markdown)
Expand All @@ -24,18 +19,18 @@ runtime component.
│ # CC-BY-SA-4.0; individual notes carry
│ # their own licence at Zenodo-deposit time
└── .github/ # CI wrappers (governance, security scan)
```
....

## The invariant
=== The invariant

Every note listed in the README resolves to a real, citable Zenodo
record. If that link breaks, the repo has failed at its one job.

## Publishing flow
=== Publishing flow

There is no runtime to diagram; the only "flow" is authorial:
There is no runtime to diagram; the only "`flow`" is authorial:

```
....
draft note (.md [+ .typ -> .pdf])
|
v
Expand All @@ -44,16 +39,16 @@ draft note (.md [+ .typ -> .pdf])
v
Zenodo deposit (direct API today; GitHub Release once the
Zenodo-GitHub integration is enabled — see README § Zenodo archiving)
```
....

## Out of scope
=== Out of scope

* No source code, package, or binary is built or shipped from this repo.
* No API, service, or CLI.
* No automated test suite — there is no code to exercise.

## See also
=== See also

* [docs/usage.adoc](docs/usage.adoc) — how to cite a note.
* [docs/contributing.adoc](docs/contributing.adoc) — how to add a new note.
* [docs/decisions/](docs/decisions/) — ADRs, historical record of why this shape.
* docs/usage.adoc — how to cite a note.
* docs/contributing.adoc — how to add a new note.
* docs/decisions/ — ADRs, historical record of why this shape.
32 changes: 32 additions & 0 deletions CHANGELOG.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
== Changelog

All notable changes to `+technical-notes+` will be documented in this
file.

This file is generated from conventional commits by the
https://github.com/hyperpolymath/standards/blob/main/.github/workflows/changelog-reusable.yml[`+changelog-reusable.yml+`]
workflow (`+hyperpolymath/standards#206+`). Adopt the workflow in this
repo’s CI to keep this file in sync automatically — see
https://github.com/hyperpolymath/standards/blob/main/templates/cliff.toml[`+templates/cliff.toml+`]
for the canonical config.

The format follows https://keepachangelog.com/en/1.1.0/[Keep a
Changelog]; this project aims to follow
https://semver.org/spec/v2.0.0.html[Semantic Versioning].

=== [Unreleased]

==== Fixed

* fix(ci): sync hypatia-scan.yml to canonical (413:
env.HOME+Phase-2+SARIF) (#1)

=== Pre-history

Prior commits to this file’s introduction are recorded in git history
but not formally classified into Keep-a-Changelog sections. To backfill,
run `+git cliff -o CHANGELOG.md+` locally using the canonical
https://github.com/hyperpolymath/standards/blob/main/templates/cliff.toml[`+cliff.toml+`]
— this is one-shot mechanical work.

'''''
31 changes: 0 additions & 31 deletions CHANGELOG.md

This file was deleted.

52 changes: 52 additions & 0 deletions CONTRIBUTING.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
== Contributing to technical-notes

Thanks for your interest. This repository follows the Hyperpolymath
estate standards defined in
https://github.com/hyperpolymath/standards[hyperpolymath/standards].

=== Licence

This project is licensed under *MPL-2.0*. By contributing you agree that
your contributions are licensed under the same terms. Every source file
carries an `+SPDX-License-Identifier+` header; keep it when editing, and
add one to any new file.

=== Development environment

A pinned dev shell is provided:

[source,sh]
----
nix develop # toolchain: git
----

Estate policy is Guix primary / Nix fallback; this repo currently ships
the Nix fallback. A `+guix.scm+` is welcome if you prefer the primary
tier.

=== Language policy

The estate restricts which languages may be used. In particular Python,
Go, TypeScript, ReScript, V-lang, Java/Kotlin, Swift and Makefiles are
*not* accepted in new code; AffineScript, Rust/SPARK, Zig, Deno, Gleam,
Elixir, Haskell, Idris2, Agda, Julia and OCaml are. CI enforces this, so
check the policy in `+hyperpolymath/standards+` before introducing a new
language.

=== Documentation format

Docs are AsciiDoc (`+.adoc+`) by default, including `+README.adoc+`. The
GitHub-required community-health files stay Markdown: `+SECURITY.md+`,
`+CONTRIBUTING.md+`, `+CODE_OF_CONDUCT.md+`, `+CHANGELOG.md+`. Do not
add a `+.md+` duplicate of a doc that already exists as `+.adoc+`.

=== Pull requests

[arabic]
. Branch from `+main+` — do not push to `+main+` directly; branch
protection requires review and passing checks.
. Keep the change focused, and explain _why_ in the PR body.
. Make sure governance CI is green. It checks documentation presence,
packaging policy, secrets, licence consistency and workflow security.
. Security issues: follow `+SECURITY.md+` — report privately, never in a
public issue.
50 changes: 0 additions & 50 deletions CONTRIBUTING.md

This file was deleted.

44 changes: 44 additions & 0 deletions GOVERNANCE.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
== Governance

`+technical-notes+` is a single-maintainer repository in the
`+hyperpolymath+` estate. There is no multi-maintainer or RFC process
here; estate-wide policy lives in
https://github.com/hyperpolymath/standards[`+hyperpolymath/standards+`].

=== Maintainer

See link:MAINTAINERS[`+MAINTAINERS+`] for who currently maintains this
repo.

=== Decision making

The maintainer accepts, revises, or declines contributions directly. A
non-trivial process change — how notes are drafted, versioned, or
archived — is recorded as an ADR in
link:docs/decisions/[`+docs/decisions/+`] rather than decided ad hoc.

=== Licensing

* Repository tooling and process documentation: MPL-2.0 or CC-BY-SA-4.0
per the SPDX header on each file (see `+LICENSE+` / `+LICENSES/+`).
* Each published note carries its own licence, set at Zenodo-deposit
time and recorded in that note’s Zenodo metadata (see the root
`+README.md+` § Licence).

=== CI-enforced governance

SPDX-header presence, licence consistency, secrets scanning, and
workflow security are enforced by the shared reusable workflow in
`+hyperpolymath/standards+`; see
link:.github/workflows/governance.yml[`+.github/workflows/governance.yml+`]
and
link:.github/workflows/hypatia-scan.yml[`+.github/workflows/hypatia-scan.yml+`].

=== Communication

* *Issues*: bugs or gaps in this repo — broken DOI links, wrong
citations, process gaps.
* *Pull requests*: proposed changes; see
link:CONTRIBUTING.md[`+CONTRIBUTING.md+`].
* *Security*: follow estate policy in `+hyperpolymath/standards+` — do
not file security-relevant findings as public issues.
49 changes: 0 additions & 49 deletions GOVERNANCE.md

This file was deleted.

37 changes: 37 additions & 0 deletions README.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
== technical-notes

Citable short technical notes and observations — AI accountability,
agent behaviour, software engineering. Each note is archived on
https://zenodo.org/[Zenodo] with a DOI.

=== Notes

[width="100%",cols="14%,12%,41%,33%",options="header",]
|===
|Note |Date |Cite (concept DOI) |Latest version
|link:agent-self-review-precommit.md[Pre-execution self-review catching
a self-introduced state-threading defect in an autonomous
code-remediation agent] (link:agent-self-review-precommit.pdf[PDF])
|2026-05-16
|https://doi.org/10.5281/zenodo.20245468[10.5281/zenodo.20245468] |v2 —
https://doi.org/10.5281/zenodo.20246057[10.5281/zenodo.20246057]
|===

____
Cite the *concept DOI* (`+10.5281/zenodo.20245468+`) — it always
resolves to the latest version. v1 = `+10.5281/zenodo.20245469+`.
____

=== Zenodo archiving

This repo is intended to be connected to the Zenodo–GitHub integration
(Zenodo → _GitHub_ settings → enable this repository). After that,
*every GitHub Release* auto-deposits a new version, grouped under a
single _concept DOI_ so versions stay citable as "`latest`". The note
above was deposited directly via the Zenodo API as a standalone record
before the integration was wired; future notes (and new versions) should
go via a GitHub Release.

=== Licence

Content is licensed link:LICENSE[CC-BY-4.0].
Loading