diff --git a/.github/CODE_OF_CONDUCT.md b/.github/CODE_OF_CONDUCT.md index bfddc49..83a1028 100644 --- a/.github/CODE_OF_CONDUCT.md +++ b/.github/CODE_OF_CONDUCT.md @@ -12,7 +12,7 @@ Replace all {{PLACEHOLDER}} values: systemet - Your project name hyperpolymath - GitHub/GitLab username or org systemet - Repository name - {{CONDUCT_EMAIL}} - Email for conduct reports + conduct@metadatastician.art - Email for conduct reports {{CONDUCT_TEAM}} - Name of conduct team/committee {{RESPONSE_TIME}} - Initial response SLA (e.g., 48 hours) 2026 - Current year @@ -140,7 +140,7 @@ If you experience or witness unacceptable behaviour, or have any other concerns, | Method | Details | Best For | |--------|---------|----------| -| **Email** | {{CONDUCT_EMAIL}} | Detailed reports, sensitive matters | +| **Email** | conduct@metadatastician.art | Detailed reports, sensitive matters | | **Private Message** | Contact any maintainer directly | Quick questions, minor issues | | **Anonymous Form** | [Link to form if available] | When you need anonymity | @@ -235,7 +235,7 @@ For contributors with elevated access (Perimeter 2 or 1): If you believe an enforcement decision was made in error: 1. **Wait 7 days** after the decision (cooling-off period) -2. **Email** {{CONDUCT_EMAIL}} with subject line "Appeal: [Original Report ID]" +2. **Email** conduct@metadatastician.art with subject line "Appeal: [Original Report ID]" 3. **Explain** why you believe the decision should be reconsidered 4. **Provide** any new information not previously available @@ -315,7 +315,7 @@ We thank these communities for their leadership in creating welcoming spaces. If you have questions about this Code of Conduct: - Open a [Discussion](https://github.com/hyperpolymath/systemet/discussions) (for general questions) -- Email {{CONDUCT_EMAIL}} (for private questions) +- Email conduct@metadatastician.art (for private questions) - Contact any maintainer directly --- diff --git a/.machine_readable/arrival-pack/arrival-pack.ncl b/.machine_readable/arrival-pack/arrival-pack.ncl index 252d2a3..4a85a8e 100644 --- a/.machine_readable/arrival-pack/arrival-pack.ncl +++ b/.machine_readable/arrival-pack/arrival-pack.ncl @@ -70,7 +70,7 @@ The descriptive family (working name *descriptiles*) describes what-is; the **co - **Before you invent, rename, or consolidate anything: STOP and check the map + IS-NOT.** ## Estate language policy (overridable per-repo via AGENTIC) -Deny: **Nix, Node/npm, TypeScript, Python, Go, AGPL**. (Guix, not Nix.) +Deny: **Nix, TypeScript, Python, Go, AGPL**. JS runtimes in preference order **Bun > Deno > pnpm > npm** — npm is last-resort, *not* banned (only when Bun *and* Deno *and* pnpm are all impossible). Packaging: **Guix**, not Nix. --- diff --git a/.machine_readable/root-allow.txt b/.machine_readable/root-allow.txt index e7316f2..735612f 100644 --- a/.machine_readable/root-allow.txt +++ b/.machine_readable/root-allow.txt @@ -17,6 +17,7 @@ AUDIT.adoc EXPLAINME.adoc AFFIRMATION.adoc # dated/signed honesty snapshot (README/EXPLAINME/AFFIRMATION trio) 0-AI-MANIFEST.a2ml # thin pointer to .machine_readable/0.1-AI-MANIFEST.a2ml +systemet_chora.deed # DRAFT (Slice-2 prep): the canonical _chora.deed root home per the estate deed model. Carries the RULED-family translation (CLADE, AGENTIC/NEUROSYM/PLAYBOOK) of the 6a2 descriptiles; lint-clean against standards deed.abnf. Inert — the 6a2 a2ml stays authoritative until the migration wave + kyX land. GOVERNANCE.adoc # governance model (validator accepts root or docs/governance/) MAINTAINERS.adoc # maintainer roster CONTRIBUTING.md # REQUIRED AT ROOT by scorecard-enforcer/openssf-compliance/quality CI (test -f, no .github fallback). The fuller copy in .github/ is GitHub's auto-discovery convention; dedupe is an owner decision (would need those CI checks updated to accept .github/). diff --git a/CLAUDE.md b/CLAUDE.md index 9f316e4..65ca617 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -50,7 +50,7 @@ The descriptive family (working name *descriptiles*) describes what-is; the **co - **Before you invent, rename, or consolidate anything: STOP and check the map + IS-NOT.** ## Estate language policy (overridable per-repo via AGENTIC) -Deny: **Nix, Node/npm, TypeScript, Python, Go, AGPL**. (Guix, not Nix.) +Deny: **Nix, TypeScript, Python, Go, AGPL**. JS runtimes in preference order **Bun > Deno > pnpm > npm** — npm is last-resort, *not* banned (only when Bun *and* Deno *and* pnpm are all impossible). Packaging: **Guix**, not Nix. --- diff --git a/docs/practice/AI-CONVENTIONS.adoc b/docs/practice/AI-CONVENTIONS.adoc index a27ea6e..f988ee8 100644 --- a/docs/practice/AI-CONVENTIONS.adoc +++ b/docs/practice/AI-CONVENTIONS.adoc @@ -56,7 +56,7 @@ MAINTENANCE-CHECKLIST.a2ml, or SOFTWARE-DEVELOPMENT-APPROACH.a2ml in the reposit | Banned | Use Instead | |---------------------|--------------------| | TypeScript | ReScript | -| Node.js / npm / bun | Deno | +| Node.js / npm | Bun (order: Bun > Deno > pnpm > npm) | | Go | Rust | | Python | Julia / Rust | diff --git a/systemet_chora.deed b/systemet_chora.deed new file mode 100644 index 0000000..63f2704 --- /dev/null +++ b/systemet_chora.deed @@ -0,0 +1,90 @@ +;; SPDX-License-Identifier: MPL-2.0 +;; SPDX-FileCopyrightText: 2026 Jonathan D.A. Jewell (hyperpolymath) +;; +;; DRAFT (Slice-2 prep) — not yet wired; the .machine_readable/6a2/ a2ml files +;; stay live and authoritative until the estate wave + kyX (D313) land. Clauses +;; are translated field-for-field from those descriptiles under the RULED mapping +;; specs in standards 1-formats/deed/mappings/ (the only authority a family +;; translation may cite): +;; CLADE.a2ml -> (identity)(clade)(forges)(lineage)(status) +;; per clade-to-repo-deed.adoc [RULED 2026-10-27] +;; AGENTIC/NEUROSYM/PLAYBOOK.a2ml -> (agentic)(neurosym)(playbook) +;; per agentic-neurosym-playbook-to-repo-deed.adoc [RULED 2026-10-27] +;; NOT translated here, pending their specs/rulings (kept live in 6a2/): +;; META.a2ml + ECOSYSTEM.a2ml — family 2, meta-ecosystem-to-repo-deed.adoc +;; (PROPOSAL, not yet owner-ruled) +;; STATE.a2ml — family 3, state-v1-decision.adoc (A/B/C open) +;; 0-AI-MANIFEST.a2ml — family 7, ai-manifest-decision.adoc (option A +;; unconfirmed) +(repo-deed + :schema-version "1.0.0" + :canonical-name "systemet" + :repo-uuid #u8"gv-clade-index:github.com/hyperpolymath/systemet" + :beholding-chora #u5"estate/chora" + + (identity :primary-forge github + :owner "hyperpolymath" + :prefixed-name "et-systemet") + + ; PROVISIONAL clade: `et` is this repo's self-assigned code, NOT in the estate's + ; 12-code closed taxonomy (fv nl rm gv db ap ix dx pt ax gm sc). Carried verbatim + ; per the mapping; gv-clade-index must assign/confirm the real clade before the + ; CLADE-003/P-5 registry gate can pass (owner + registry act). + (clade :primary et + :secondary () + :assigned "2026-06-28" + :rationale "et = Equality Theory; systemet is the theory itself (the spec/semantic authority). PROVISIONAL pending gv-clade-index registration.") + + (forges :github "hyperpolymath/systemet" + :gitlab "hyperpolymath/systemet" + :bitbucket "hyperpolymath/systemet") + + (lineage :type standalone + :parent "Split out of the combined 'EveryType' draft (2026-06-28): systemet is the theory half; the kernel half is the anytype repo." + :born "2026-06-28") + + ; CLADE.a2ml carries no [status] section and STATE (family 3) is not yet ruled, + ; so :phase is BACKFILLED from the repo's declared lifecycle (active) — a + ; provisional registry surface, not a revalidated readiness claim. Confirm + ; against the CLADE-003/P-5 gate when state-v1-decision.adoc is ruled. + (status :phase active + :since "2026-06-28" + :present #t + :aliases () + :merged-into "" + :superseded-by "" + :successors () + :ended "" + (history + (entry :phase active + :since "2026-06-28" + :note "backfilled from STATE pending state-v1-decision.adoc; not a CLADE registry claim"))) + + (agentic + :version "0.1.0" :last-updated "2026-04-11" + (permissions :source #t + :tests #t + :docs #t + :config #t + :create-files #t) + (integrity :fail-closed #t + :require-evidence-per-step #t + :allow-silent-skip #f + :require-rerun-after-fix #t + :release-claim-requires-hard-pass #t) + (methodology :instructions-dir ".machine_readable/bot_directives/" :default-mode hybrid)) + + (neurosym + :version "0.1.0" :last-updated "2026-04-11" + (hypatia :scan-enabled #t + :scan-depth standard + :report-format "logtalk")) + + (playbook + :version "0.1.0" :last-updated "2026-04-11" + (skeleton :version "1.0" + :last-updated "2026-04-30" + :authority-allowlist ".machine_readable/root-allow.txt" + :enforcement-workflow ".github/workflows/estate-rules.yml") + (deployment) (incident-response) (release-process) (docs-format) (maintenance-operations)) +) diff --git a/tests/workflows/validate_workflows_test.sh b/tests/workflows/validate_workflows_test.sh index 7f0ec74..f3f22c0 100755 --- a/tests/workflows/validate_workflows_test.sh +++ b/tests/workflows/validate_workflows_test.sh @@ -99,7 +99,7 @@ REQUIRED_WORKFLOWS=( "security-policy.yml" "wellknown-enforcement.yml" "workflow-linter.yml" - "npm-bun-blocker.yml" + "runtime-policy.yml" "ts-blocker.yml" "secret-scanner.yml" )