Ike.java
/*
* Copyright © 2026 IKE Network (support@ike.network)
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package network.ike.foundation.ike.terms;
import dev.ikm.tinkar.common.service.PrimitiveData;
import dev.ikm.tinkar.entity.builder.ActiveStamp;
import dev.ikm.tinkar.entity.builder.KnowledgeSet;
import dev.ikm.tinkar.entity.builder.Stamp;
import dev.ikm.tinkar.terms.DefaultsTemplateTerm;
import dev.ikm.tinkar.terms.EntityProxy;
/**
* Ledger-internal handles for the IkeFoundation knowledge set: the session root and the
* reference handles the sections cite. Handles are conveniences over derived
* identities — never identity sources. Consumers use the generated bindings class
* (network.ike.foundation.ike.bindings.IkeTerms), not this one.
*/
public final class Ike {
private Ike() {
}
/**
* The knowledge set — its UUID is the permanent type-5 namespace from which
* every identity in the set derives. Never change it.
*/
public static final KnowledgeSet SET = KnowledgeSet.of("d890e06f-ec35-429a-b541-d0ead19695e2");
/** The set's module concept — the export dimension for this knowledge. */
public static final EntityProxy.Concept MODULE =
SET.conceptRef("IkeFoundation module (IkeFoundation)");
/** The set's root concept. */
public static final EntityProxy.Concept ROOT =
SET.conceptRef("IkeFoundation root (IkeFoundation)");
/**
* Community authorship: the IKE Network itself, attributed as author for
* content synthesized by tooling on the Network's behalf (starter-set
* ingest, IKE-Network/ike-issues#872) rather than by an individual editor
* or an ingested upstream source. Resolves the curator-identity TODO this
* scaffold generates by default.
*/
public static final EntityProxy.Concept IKE_COMMUNITY =
SET.conceptRef("IKE Community (IkeFoundation)");
/**
* The pre-release set's ONE declared inception stamp (IKE-Network/ike-issues#894):
* every version this ledger writes outside the Defaults and templates module carries
* it. The time is the platform's named inception instant,
* {@link PrimitiveData#INCEPTION_EPOCH} — a sentinel that renders as the word
* "Inception" on every surface, timezone-proof — per KEC's ruling (2026-07-18): the
* set has not been released, so all of it is still at inception. Declaring the pair
* here, once, is what makes "one set of inception stamps" compiler-visible; a third
* IKE stamp cannot appear without editing this class, and the fidelity stamp-pair
* gate would refuse it. The path dimension is the Primordial path — the root
* all other paths fork from, where releases of this knowledge land, beginning
* with the inception release; after 1.0, editing moves to the Development path
* and never returns here at inception (IKE-Network/ike-issues#910).
*/
public static final ActiveStamp INCEPTION = Stamp.active(PrimitiveData.INCEPTION_EPOCH,
IKE_COMMUNITY, MODULE, IkeTerm.PRIMORDIAL_PATH);
/**
* The inception stamp's Defaults-and-templates-module counterpart, at the same
* declared time: the module dimension alone separates support content (the Data Type
* Defaults tuple, the worked Preferred Reviewer default) from the foundation
* terminology — see the live-and-die invariant on
* {@link DefaultsTemplateTerm#DEFAULTS_AND_TEMPLATES_MODULE}.
*/
public static final ActiveStamp DEFAULTS_INCEPTION = Stamp.active(PrimitiveData.INCEPTION_EPOCH,
IKE_COMMUNITY, DefaultsTemplateTerm.DEFAULTS_AND_TEMPLATES_MODULE,
IkeTerm.PRIMORDIAL_PATH);
}