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
19 changes: 19 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
# OCaml / Dune
_build/
*.install
*.merlin
.merlin
*.opam.locked

# Editor
*~
*.swp
.idea/
.vscode/

# OS
.DS_Store
Thumbs.db

# Generated
*.oir.json
53 changes: 53 additions & 0 deletions ANCHOR.scope-arrest.2026-01-01.Jewell.scm
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
;; SPDX-License-Identifier: MIT OR Palimpsest-0.8
;; SPDX-FileCopyrightText: 2026 Hyperpolymath

;; ANCHOR.scope-arrest.2026-01-01.Jewell.scm (oblibeny)
(define anchor
'((schema . "hyperpolymath.anchor/1")
(repo . "hyperpolymath/oblibeny")
(date . "2026-01-01")
(authority . "repo-superintendent")
(purpose . ("Reclaim identity: Oblíbený is the MAA/Absolute-Zero heart language. Remove unrelated ecosystem content."))
(identity
. ((project . "Oblíbený")
(kind . "secure edge language for reversibility + accountability")
(domain . "MAA + Absolute-Zero integration")
(one-sentence . "A secure edge language: a Turing-complete meta/factory form that produces a Turing-incomplete reversible/constraint form, designed for accountability.")))

(semantic-anchor
. ((policy . "dual")
(reference-impl . ("OCaml front-end + reference evaluator are authoritative in f0"))
(formal-spec . ("SPEC.core.scm defines meta/factory form and the produced constrained form"))
(integration-contract
. ("Explicitly document interfaces to Absolute-Zero + Mutually-Assured-Accountability as external contracts, not embedded copies."))))

;; f0: strict boundaries. Do NOT run 3 stacks at once unless quarantined.
(allowed-implementation-languages
. ("OCaml"))
(quarantined-optional
. ("Rust runtime helpers (only if strictly needed, non-authoritative)"
"LLVM backend (for f2+ only, never required for correctness)"))
(forbidden
. ("Oblivious computing ecosystem takeover"
"Submodules that redefine repo identity"
"Implementing LLVM backend in f0"
"Adding extra host languages"))

(mandatory-restructure
. ("If repo currently contains unrelated obli-* ecosystems: relocate them to a sibling repo."
"Root must contain language skeleton: parser/typecheck/eval + conformance corpus."
"README must state the language identity above; anything else becomes 'related projects'."))

(golden-path
. ((smoke-test-command . "dune test && dune exec -- examples/hello.obl")
(success-criteria . ("factory form produces constrained form"
"constrained form is Turing-incomplete by construction (enforced syntactically)"
"reversibility invariants validated on at least 1 example"))))

(first-pass-directives
. ("Write SPEC.core.scm focusing only on: (1) meta/factory form, (2) produced constrained form, (3) reversibility invariant, (4) accountability trace."
"Add conformance programs that try to create loops in constrained form; they must be rejected."
"Do not attempt full integration with other repos in f0; only define interfaces."))

(rsr
. ((target-tier . "bronze-now") (upgrade-path . "silver-after-f1")))))
47 changes: 47 additions & 0 deletions AUTHORITY_STACK.mustfile-nickel.scm
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
;; SPDX-License-Identifier: MIT OR Palimpsest-0.8
;; SPDX-FileCopyrightText: 2026 Hyperpolymath

;; AUTHORITY_STACK.mustfile-nickel.scm
;; Shared drop for hyperpolymath repos: defines task routing + config authority.

(define authority-stack
'((schema . "hyperpolymath.authority-stack/1")
(intent
. ("Stop agentic drift and toolchain creep."
"Make the repo executable via a single blessed interface."
"Prevent the LLM from inventing commands, tools, or files."))

(operational-authority
. ((local-tasks . "just")
(deployment-transitions . "must")
(config-manifests . "nickel")
(container-engine . "podman-first")))

(hard-rules
. ("Makefiles are forbidden."
"All operations must be invoked via `just <recipe>` (local) or `must <transition>` (deployment)."
"If a recipe/transition does not exist, the correct action is to ADD it (and document it), not to run ad-hoc commands."
"Nickel manifests are the single source of truth for config; do not hand-edit generated outputs."
"No network-required runtime paths for demos/tests unless explicitly permitted in ANCHOR."))

(workflow
. ((first-run
. ("Read ANCHOR*.scm"
"Read STATE.scm"
"Run: just --list"
"Run: just test"
"Run: just demo (if defined)"))
(adding-new-capability
. ("Update SPEC/ROADMAP first"
"Add a `just` recipe (and tests) that implements the capability"
"Only then edit code"))))

(tooling-contract
. ((mustfile-notes
. ("Mustfile is the deployment contract (physical state transitions)."
"must is the supervisor/enforcer for must-spec; it routes through just where appropriate."))
(nickel-notes
. ("Nickel provides validated, type-safe manifests."
"Prefer .ncl for machine-truth; render docs from it via your conversion pipeline."))
(shell-entrypoints
. ("Shell wrappers may exist; all must route to just/must without inventing extra logic."))))))
35 changes: 28 additions & 7 deletions Mustfile
Original file line number Diff line number Diff line change
@@ -1,14 +1,35 @@
# SPDX-License-Identifier: AGPL-3.0-or-later
# Mustfile - hyperpolymath mandatory checks
# See: https://github.com/hyperpolymath/mustfile
# SPDX-License-Identifier: MIT OR Palimpsest-0.8
# SPDX-FileCopyrightText: 2026 Hyperpolymath
#
# Mustfile - Oblíbený deployment contract
# See AUTHORITY_STACK.mustfile-nickel.scm for governance.
# All checks route through justfile.

version: 1

checks:
- name: security
run: just lint
- name: tests
- name: build
run: just build
description: Build the Oblíbený compiler

- name: test
run: just test
- name: format
description: Run conformance and unit tests

- name: lint
run: just lint
description: Static analysis and validation

- name: fmt
run: just fmt
description: Code formatting check

- name: golden-path
run: just demo
description: Run the ANCHOR-defined smoke test

transitions:
- name: release
requires: [build, test, lint]
run: just release $VERSION
description: Prepare a release (requires VERSION env var)
Loading
Loading