Kungfu UNGFU™Developer Platform

Back to KFD homepackage-owned-governed-self-change-projection / non-normative

How KFD changes itself

This page projects the fixed KFD package. Numbered decisions, Profile contracts, exact evidence roots, and accountable human authority remain authoritative.

Canonical source GitHub · profiles/self-conformance/README.md ↗ Rendered projection · pinned c758ab01

Two verification lanes

Choose the evidence path you need

Implement and verify KFD independently

implementation-and-independent-verification-guide

Claim boundary: Render the declared facts and links without converting package verification into certification, draft activation, independent adoption, or production fitness.

How KFD changes itself

package-owned-governed-self-change-projection

Claim boundary: This page projects the fixed KFD package. Numbered decisions, Profile contracts, exact evidence roots, and accountable human authority remain authoritative.

KFD Self-Conformance Profile v1

kfd-self-conformance@1.0.0-alpha.1 defines how KFD records evidence about its own Candidate, decision, lifecycle, and package transitions. It is a portable structural proof contract. It is not an authority to allocate a KFD number, change a decision status, approve a Foundation Revision, publish a release, certify an adopter, or declare a claim true.

The normative closure is the fixed package rooted by profiles/self-conformance/manifest.json. The profile uses only KFD-owned public files and sha256-kfd-canonical-json-v1; no product checkout, hosted service, private repository, network, credential, or ambient Home state is part of the contract.

Reader model: prospective gate and retrospective replay

Read KFD Self-Conformance as two connected lanes, not as one timeless claim:

  1. Prospective governance applies the live Profile to official Candidate genesis, qualification, numbering, status, Foundation Revision, and release-packaging transitions. Ordinary edits remain edits unless an official lifecycle path is invoked.
  2. Retrospective structural conformance replays immutable public evidence from the alpha.28 Foundation Cut to its additive convergence with the alpha.55 pre-Profile live anchor. It always declares retrospective: true and profileAvailableAtEvent: false.

The retrospective lane does not assert that historical actors possessed or ran the later Profile, and it cannot retroactively approve, authorize, activate, certify, or change any historical event. Across both lanes, the verifier supplies necessary structural evidence but is never sufficient for semantic truth, human approval, numbering, status change, adoption, publication, release authority, or production fitness.

Inspect the historical guide · Inspect the historical report · Inspect the live manifest

Conformance objects

The profile has five load-bearing object kinds:

  1. a state records the semantic and publication state of one immutable KFD subject coordinate;
  2. a bootstrap anchor names the reviewed predecessor from which the first profile-governed chain begins;
  3. a transition bundle binds the previous and proposed state roots, evidence, schema set, verifier, authority, review, claim boundary, gaps, immutable coordinates, and expected result;
  4. a report records only enumerated structural checks over one exact bundle;
  5. a package manifest closes the profile, schemas, vectors, bundle, report, predecessor, and verifier coordinates without including its own digest.

Every object uses schemaVersion: 1 and an exact contract string. Unknown versions, fields, transitions, issue codes, or root algorithms fail closed.

The independent Rust/WebAssembly projection is selected with self-conformance-transition. It implements the published contract directly; it does not call the JavaScript contract check or any product runtime. Its machine-readable invariant map and adversarial cases are fixed in verifier/specs/self-conformance-matrix.json.

Canonical roots and the recursion boundary

All semantic roots use sha256-kfd-canonical-json-v1:

  • input is JSON with no duplicate keys;
  • object keys are ordered by UTF-8 byte order;
  • strings and keys are NFC-normalized before admission;
  • integers are non-negative and at most 2^53 - 1;
  • floating point and exponent forms are forbidden;
  • canonical JSON has no insignificant whitespace and ends in one LF;
  • SHA-256 is encoded as sha256: plus 64 lowercase hexadecimal digits.

The state root is computed from the complete state object. The transition bundle root is computed from the complete bundle. The report root is computed from the complete report, which binds bundleRoot but has no reportRoot field. The package root is computed from the complete package manifest, which has no packageRoot field.

Recursion is therefore finite:

reviewed bootstrap anchor
  -> transition bundle root
  -> report root
  -> package root
  -> next transition predecessor roots

A transition may bind only predecessor report and package roots. A current report or package digest must never occur in its own digest preimage. A current-version-only pass is not evidence about its predecessor.

State model

A state separates semanticState from publicationState. Packaging must not silently change semantic status.

Semantic states are:

  • absent: no Candidate or numbered decision has been created;
  • candidate: a non-normative pressure-field proposal exists;
  • qualified: the Candidate has the evidence required to request promotion;
  • numbered-draft: maintainers allocated a number and retained draft status;
  • active: maintainers activated a numbered decision;
  • superseded: an active decision was explicitly superseded;
  • foundation-revised: a pre-stable Foundation Revision was authorized;
  • revised: the proposal returned for substantive revision;
  • rejected: the proposal was rejected with retained rationale;
  • provisional: incubation continues without promotion;
  • no-new-kfd: the pressure field was resolved without a new KFD.

Publication state is unpublished or packaged. release-packaging changes only publication state and preserves semantic state and subject identity.

Transition table

Transition Allowed previous semantic state Proposed semantic state Authority boundary
candidate-genesis absent candidate provenance owner records a Candidate; no number
candidate-qualification candidate, revised, provisional qualified evidence review only; no promotion
numbered-draft-promotion qualified numbered-draft maintainer numbering decision plus independent review
activation numbered-draft active maintainer activation plus independent review
supersession active superseded maintainer supersession plus successor lineage
foundation-revision numbered-draft, active foundation-revised explicit pre-stable authorization, mapping, and review
release-packaging any retained semantic state unchanged release authority; structural pass is insufficient
revision-required candidate, qualified revised reviewer rationale retained
rejection candidate, qualified, revised, provisional rejected accountable disposition retained
provisional-retention candidate, qualified, revised, provisional provisional gap and next-review boundary retained
no-new-kfd absent, candidate, qualified, revised, provisional no-new-kfd pressure-field rationale retained

Except for release-packaging, official semantic transitions preserve publicationState. A later package may contain any retained terminal outcome; packaging does not turn that outcome into success.

Required bundle bindings

A transition bundle must bind:

  • the complete previous and proposed states and their independently recomputed roots;
  • the predecessor kind, bootstrap-anchor root, and predecessor report and package roots where applicable;
  • one or more evidence roots;
  • the exact schema-set root and verifier root;
  • separate authority and independent-review receipt roots;
  • an explicit claim boundary and known-gap array, including an empty array when no gap is known;
  • immutable repository/package coordinates;
  • the expected structural result.

Substitution, omission, reordering of set-like material, stale predecessor roots, circular roots, missing authority, missing review, and claim widening are invalid. Array ordering is significant unless the relevant schema calls the array a set; producers must sort root sets lexically and reject duplicates.

Report and claim boundary

A passing report means only that the checks listed in checks passed for the exact bundle under the exact profile, schema set, and verifier roots. Reports fix qualifying, selfCertified, semanticTruth, humanApproved, releaseAuthorized, adoptionProven, and certified to false.

Human governance remains external and explicit. The bundle retains authority and review receipts so a lifecycle gate can require them, but the verifier does not mint or interpret that authority beyond the enumerated structural checks.

Bootstrap trust anchor

The bootstrap anchor is an explicit reviewed exception to predecessor-report recursion. It binds the last pre-profile state and package roots, the exact KFD coordinate, authority and review receipts, rationale, and claim boundary. Only candidate-genesis may begin from a bootstrap predecessor. Replacing the anchor starts a different chain and requires an explicit compatibility action.

Stable diagnostics

The stable issue namespace is published in profiles/self-conformance/issue-codes.json. A verifier may report multiple issues, but canonical reports order issues by code, then path, then message. Unknown failures use scp-contract-invalid; they must never be treated as success or silently ignored.

Set-like arrays are strictly UTF-8 sorted and unique. Roots assigned to evidence, verifier, authority, review, predecessor report, and predecessor package roles may not collapse into one another. These checks expose scp-set-order-invalid, scp-root-substitution, and scp-root-conflict without interpreting the semantic content of an authority or review receipt.

Fixed package and versioning

The extraction manifest is an allowlist. A clean-room implementation may use only the listed files. The profile contract, schemas, issue inventory, vectors, and package rules are KFD-1 welded surfaces with additive/minor impact for this first publication. Incompatible changes to required fields, canonical roots, transition meaning, claim boundaries, or issue meaning require a successor profile or explicit compatibility action.

The profile does not change any entry in drafts/registry.json or registry.json. Profile publication is not a Candidate promotion or KFD status transition.

Official lifecycle gate

Every official Candidate, qualification, numbered-draft promotion, activation, supersession, Foundation Revision, and release-packaging path consumes profiles/self-conformance/lifecycle-gates.json. The gate request retains the complete chain from the reviewed bootstrap anchor, each transition bundle, its independently reproduced report root, the package root, the actual authority receipt, the independent-review receipt, and counterevidence roots. The terminal path, transition, role, and decision must match the published policy.

Run the package-owned gate with no network or product checkout:

kfd gate self-conformance-lifecycle transition.request.json \
  --output transition.report.json --json

Both files are retained under evidence/self-conformance/transitions/ for an official repository transition. The report is reproduced during repository-native checks; a missing pair, stale report, wrong root, incomplete predecessor chain, wrong authority role, non-independent review, claim overreach, or verifier-package substitution fails closed with a stable scg-* or underlying scp-* diagnostic.

The gate never applies a transition. A proceed report says that the supplied structural proof and separately supplied governance receipts are mutually consistent. It does not allocate a number, change status, approve, merge, or release. revision-required, rejection, provisional-retention, and no-new-kfd remain valid retained non-promotion outcomes; counterevidence is not discarded to manufacture a passing promotion.

Implementation evidence

This page projects the fixed KFD package. Numbered decisions, Profile contracts, exact evidence roots, and accountable human authority remain authoritative.

Package
@kungfu-tech/kfd@1.0.0-alpha.67
Coverage
0 decisions · 0 complete · 0 partial · 0 gap
Warrant profile
· · 0 fixed vectors

Claim boundary: This page projects the fixed KFD package. Numbered decisions, Profile contracts, exact evidence roots, and accountable human authority remain authoritative.

experimental profile · kfd-self-conformance@1.0.0-alpha.1

Governed self-change, with authority kept separate

  • Candidate genesis and qualification
  • numbered-draft promotion
  • activation and supersession
  • foundation revision
  • release packaging

candidate

Transitions: candidate-genesis, revision-required, rejection, provisional-retention, no-new-kfd

Authority roles: provenance-owner, review-disposition

Decisions: record-candidate, revise, reject, retain-provisional, no-new-kfd

qualification

Transitions: candidate-qualification, revision-required, rejection, provisional-retention, no-new-kfd

Authority roles: evidence-review-authority, review-disposition

Decisions: qualify, revise, reject, retain-provisional, no-new-kfd

draft-promotion

Transitions: numbered-draft-promotion, revision-required, rejection, provisional-retention, no-new-kfd

Authority roles: maintainer-numbering, review-disposition

Decisions: promote, revise, reject, retain-provisional, no-new-kfd

activation

Transitions: activation

Authority roles: maintainer-status

Decisions: activate

supersession

Transitions: supersession

Authority roles: maintainer-status

Decisions: supersede

foundation-revision

Transitions: foundation-revision

Authority roles: maintainer-foundation-revision

Decisions: revise-foundation

release

Transitions: release-packaging

Authority roles: release-authority

Decisions: package

Lifecycle boundary: A lifecycle gate verifies exact structural evidence and the presence, separation, and scope of supplied governance receipts. It does not allocate a number, change status, approve, merge, publish, certify, or replace accountable human authority.

Native + WASM · byte parity · offline · independent

Run and verify the fixed transition contract

Evaluate a lifecycle gate

kfd gate self-conformance-lifecycle <request> --output <report> --json

Verify a transition report

kfd verify self-conformance-transition <report> --json

Replay immutable historical lineage

node bin/kfd-history.mjs verify profiles/self-conformance/history/historical-lineage.report.json --json
Verifier necessary
true
Verifier sufficient
false
Human approval required
true
Release authority separate
true

Verifier boundary: The fixed package proves only the published Self-Conformance contract closure and vectors. It does not prove semantic truth, approval, certification, adoption, product fitness, lifecycle authority, or release authorization.

Closed recursive case · no-new-primitive

No new KFD was allocated

The Candidate is merged into the existing KFD-1, KFD-2, KFD-5, KFD-11 and Profile closure. It remains normative: false, with no number, active status, self-certification, merge authority, or release authority.

Terminal outcome
non-promotion
Request root
sha256:6de7f6436870f4ac5d0e608e631b787371eb318ff680a15b90db7e5b4aac8dc6
Fixed package root
sha256:596a1e4b0d57e93fefcb4f32ff2df5be35a56cf86fb8864f5d0ab09b12cd8770
Terminal bundle root
sha256:1dda7286370c7221d87539d4749fb07017f94238040e324c02fc633c19b797e9
Terminal report root
sha256:0fb85f2dbd11dba10648bbc85a7f8a563674d4b18c6d6dfe452c6db80b40d9bb
Number allocated
false
Status changed
false
Release authorized
false

Case boundary: This closed case retains the no-new-kfd result and its reopening conditions. It does not infer historical Profile conformance, allocate a number, activate a KFD, certify the Profile, or authorize release.

Retrospective lineage · package-owned evidence

From the alpha.28 Foundation Cut to the live alpha.55 anchor

Report
kfd-history-alpha28-to-live-alpha55
Retrospective
true
Profile available at event
false
Foundation commit
04f839e8e7834c9eda3d46424de2f59f53623e8f
Foundation tag
v1.0.0-alpha.28
Foundation package
@kungfu-tech/kfd@1.0.0-alpha.28
Foundation package root
sha256:279cf2adcfe0c5cd9d31ecf0e6317d5a5f2ff854c49c39f7e135ad4e2cc43ce1

At the cut: active KFD-1, KFD-2, KFD-3, KFD-4, KFD-5; draft KFD-6; absent KFD-7.

Bootstrap boundary: This alpha.28 cut is a retrospective foundation. It is not the live Profile bootstrap and does not claim contemporaneous Profile execution.

KFD-7 · retained terminal states

Six-step historical walkthrough

1. candidate-genesis

absentcandidate

Sources: kfd7-candidate-registry, pr-159-authority, pr-159-review

2. candidate-refinement

candidatecandidate

Sources: kfd7-refined-candidates, pr-176-authority, pr-176-review

3. numbered-draft-promotion

candidatenumbered-draft

Sources: kfd7-numbered-registry, pr-180-authority, pr-180-review

4. qualification

numbered-draftqualified-numbered-draft

Sources: kfd7-qualified-decision, pr-186-authority, pr-186-review

5. activation

qualified-numbered-draftactive

Sources: kfd7-activation-record, kfd7-active-registry, pr-190-authority, pr-190-review

6. release-packaging

activeactive-packaged

Sources: alpha36-package, pr-190-authority, pr-190-review

Coverage · numbering · convergence

Preserve non-promotion and numbering boundaries

KFD-10

Terminal state: numbered-draft

Normative promotion claimed: false

KFD-11

Terminal state: numbered-draft

Normative promotion claimed: false

KFD-7

Terminal state: active-packaged

Normative promotion claimed: false

KFD-8

Terminal state: numbered-draft

Normative promotion claimed: false

KFD-9

Terminal state: numbered-draft

Normative promotion claimed: false

kfd-self-conformance-pressure

Terminal state: no-new-kfd

Normative promotion claimed: false

project-settlement

Terminal state: foundation-revised-draft

Normative promotion claimed: false

software-responsibility-transition

Terminal state: foundation-revised-draft

Normative promotion claimed: false

Numbering mappings

  • unallocatedKFD-11@pre-2026-07-21 · historical-number
  • unallocatedKFD-12@pre-2026-07-21 · historical-number
  • unallocatedKFD-11 · allocated-by-foundation-revision
  • KFD-11@pre-2026-07-21KFD-12 · renumbered
  • KFD-12@pre-2026-07-21KFD-13 · renumbered

Transition recipes

  • candidate-genesis: absentcandidate
  • candidate-refinement: candidatecandidate
  • numbered-draft-promotion: candidatenumbered-draft
  • qualification: numbered-draftqualified-numbered-draft
  • activation: qualified-numbered-draftactive
  • release-packaging: activeactive-packaged
  • no-new-kfd: candidateno-new-kfd
Historical terminal source
no-new-kfd-report
Live anchor source
self-conformance-live-alpha55-anchor
Live anchor
kfd-alpha-55-pre-profile
Live anchor root
sha256:26961922619d090faf9c76f8bf0e25947100a5d13be6831366f1a0933c7ced59
Live package root
sha256:114c195fea83c65ec84e52def6c2afced8a4ca9d2c9abe813f5c9c5d3b50260a
Compatibility
additive
Historical does not replace live
true

Next action: Choose a current lifecycle action from the actual terminal state; preserve partial, draft, revised, rejected, provisional, or no-new-kfd outcomes instead of manufacturing promotion.

Historical limits: This report is a later, structural replay over immutable public coordinates. It does not assert that the Profile existed or ran at an event, prove semantic truth, activate a draft, certify an implementation, authorize a release, or replace the alpha.55 live anchor.

KFD historical Self-Conformance

This additive history profile provides retrospective structural conformance by replaying immutable KFD events without changing the live kfd-self-conformance@1.0.0-alpha.1 contract. The live contract, its alpha.55 bootstrap, retained reports, issue inventory, manifest, and verifier bytes remain unchanged.

Bootstrap boundary

The retrospective Foundation Cut is commit 04f839e8e7834c9eda3d46424de2f59f53623e8f, tag v1.0.0-alpha.28, package @kungfu-tech/kfd@1.0.0-alpha.28, and tarball root sha256:279cf2adcfe0c5cd9d31ecf0e6317d5a5f2ff854c49c39f7e135ad4e2cc43ce1. At that cut KFD-1 through KFD-5 were active, KFD-6 was draft, and KFD-7 was absent. PR #146 and its exact-head kungfu-origin approval are separate source payloads.

Every history report and episode declares retrospective: true and profileAvailableAtEvent: false. This is a later reconstruction, not a claim that historical actors ran a Profile that did not exist. It cannot retroactively approve, authorize, activate, certify, or change an event.

KFD-7 walkthrough

KFD-7 moves through PR #159 Candidate genesis, PR #176 Candidate refinement, PR #180 numbered draft, PR #186 qualification, PR #190 activation with the Buildchain and Kungfu product-profile evidence, and alpha.36 packaging. Each step retains its actual terminal state; later activation is never projected backward.

Coverage

KFD-8 through KFD-10 stop at numbered draft. The Foundation Revision retains old KFD-11 as present KFD-12 and old KFD-12 as present KFD-13, while allocating the present KFD-11; all remain draft. The recursive no-new-kfd result remains a valid non-promotion outcome.

Convergence and limits

The history report converges additively with kfd-alpha-55-pre-profile; it does not replace that anchor. A pass proves only structural closure of the embedded immutable source payloads, time boundary, generic transition recipes, authority/review separation, and declared terminal outcomes. It does not prove semantic truth, activation, adoption, certification, fitness, or release authority.

Historical Self-Conformance clean-room guide

This command evaluates retrospective structural conformance only. It must retain retrospective: true and profileAvailableAtEvent: false; a successful replay never implies contemporaneous Profile execution or retroactive approval, authority, activation, certification, or status change.

From the extracted package, run:

node bin/kfd-history.mjs verify \
  profiles/self-conformance/history/historical-lineage.report.json --json

The CLI uses the package’s current WebAssembly build of the same Rust verifier core as the native CLI. Verification is offline and recomputes every embedded source payload root.

Apply the generic recipes literally: Candidate genesis is absent -> candidate; refinement is candidate -> candidate; numbered draft is candidate -> numbered-draft or an explicitly bounded historical observation; qualification is numbered-draft -> qualified-numbered-draft; activation is qualified-numbered-draft -> active; packaging is active -> active-packaged; Foundation allocation/revision requires explicit numbering maps; and non-promotion may end at no-new-kfd.

Choose the next action from the actual terminal state. Preserve missing evidence, draft, revision, rejection, provisional, or non-promotion outcomes; never select a stronger transition merely to complete a chain. A passing replay does not mutate registry.json or authorize a current lifecycle action.

Exact machine assets

  • profile-manifest · application/json · sha256:405d367bfc17a466725f792684990f5ee578f81bb65bb3a82b2faf8c65eb9705
  • lifecycle-gates · application/json · sha256:0ba98836f811dc61aeea36f0635dfb422665ca2d63b9a74131164ecf6d33b241
  • verifier-matrix · application/json · sha256:bfd8a790cfbc334d915e2037ff8356a7de76fd455a4ddcdef2f1811d91712af5
  • issue-codes · application/json · sha256:e5ad0dcb9a5ee4d20853c828fa8435cae96fadf4427e12a4622352647b1633a7
  • qualification-assessment · application/json · sha256:b61a2fd28bc264baabf206235232fc0e55279b637d72912cd65c3419bfbbcfd7
  • independent-verification · application/json · sha256:c74ac5cfd1206d1fd36e4c1f65125a2bd790a2f7fbab53187595394ea87d8efe
  • terminal-transition-report · application/json · sha256:e4ac94237f2a3a3dd2467a39158f1a8a6b0e0882722a11973d01f12c99ad801a
  • historical-lineage · application/json · sha256:d49fc25d5f1816a4f8b4d68aa78ced0f556a80a315d96520eb09f57273a72c1b
  • historical-manifest · application/json · sha256:ac5c97fd354eed6b108bc6f498caf0ebcf6cc6add807785e5ba8ee860cc1b9ab

Package: @kungfu-tech/kfd@1.0.0-alpha.67 · integrity: sha512-pyxp8jh8aigSqt/cEHqSTGgHvy4vpPnfoIc2orFkxtC39AWkSFqkXVUuZND0qJ/WX+xs0a1BJ5AT6AeHKzmN3w==

Page metadata

Route
/verify/self-conformance/
Relationship
package-owned-governed-self-change-projection
Normative
false
Projection source
GitHub · profiles/self-conformance/README.md
Package
@kungfu-tech/kfd@1.0.0-alpha.67