MHRN-Space / docs /02-architecture /PROFILE_IDENTITY.md
ThomasHeisig's picture
Sync GitHub main 4a6eb9887255ebb2ede0a5f2e13460c4b5878946
39e8372 verified
|
Raw History Blame Contribute Delete
4.52 kB

Profile & Identitaet

Status

Holistic Wesen profile: implemented.

Senses, learning parameters, morphology, actuators, gateway/MSBA defaults, memory declarations, self-model configuration, resources and safety are stored as a bounded technical profile. Profile save/load/clone/import/export, revision history, lineage and snapshot binding are implemented. Autonomous profile mutation remains locked / future research.

A profile is a persistent technical identity. It is not evidence of a psychological identity, personality, subjective continuity or consciousness.

Public authorship identity

Project authorship is linked separately from runtime profiles. The canonical public author record is Thomas Heisig with ORCID 0009-0002-9589-1872, exposed through src.identity.public_author_identity(), project_identity.json, AUTHORS.md and CITATION.cff. Private contact data from the ORCID record is not copied into the repository.

Zenodo release metadata is stored in .zenodo.json and uses the same public ORCID creator identifier. The published Alpha.6 software archive is verified at https://zenodo.org/records/22860683 (version DOI 10.5281/zenodo.22860683, concept DOI 10.5281/zenodo.22860682). The Alpha.7 archive and the separate publication DOI remain pending until their own records are published and verified.

The public OSF project resource is linked as https://osf.io/p34uq/ through project_identity.json, pyproject.toml, CITATION.cff and src.identity.public_project_resources().

Separation of state

Layer Contents Storage
Profile configuration, declared capabilities, limits, provenance profiles/<id>/profile.json
Snapshot current neuron/synapse state and tick existing .b5d snapshot
Checkpoint RNG, queues, traces and continuation state existing checkpoint sidecar
Registry bounded profile metadata and digest profiles/index.json
Lineage revisions, parent and change reasons profiles/<id>/revisions/

Large spike histories, synapse lists, raw experiment data and structural journals never enter profile.json.

Schema and digest

The current schema is version 1. A profile contains runtime, neural_core, learning, senses, actuators, morphology, gateway, memory, self_model, resources, safety, provenance, snapshot_binding and compatibility. JSON is canonicalized with sorted keys and hashed with SHA-256. The digest excludes only its own provenance.profile_digest field.

Gateway active weights remain outside the profile. The gateway configuration is always experiment-only and its productive lock cannot be disabled by imported data. Autonomous profile mutation is likewise fail-closed.

Lifecycle and safety

Profiles can be active, inactive, archived, incompatible or corrupted. Loading a profile persists the active status and deactivates the previous identity. Loading with state requires a snapshot binding; profile-only loading deliberately does not silently reinitialize the runtime.

Hard deletion is blocked for an active profile and for profiles with snapshot provenance. Archive is the normal disposal path. Writes use a temporary file, flush/fsync and atomic replacement. ZIP imports reject traversal, backslashes, directories, oversized members, duplicate identity IDs and digest mismatches. Imported actuator declarations never activate external devices.

API

  • GET /api/profiles and GET /api/profiles/current;
  • GET /api/profiles/{id};
  • POST /api/profiles;
  • PUT /api/profiles/{id};
  • POST /api/profiles/{id}/load with with_state: true|false;
  • POST /api/profiles/{id}/save-state;
  • POST /api/profiles/{id}/clone;
  • GET /api/profiles/{id}/history and /snapshots;
  • GET /api/profiles/{id}/export;
  • POST /api/profiles/import with a bounded base64 ZIP;
  • DELETE /api/profiles/{id} where archive/provenance rules still apply.

Runtime application is an explicit boundary. With a live RuntimeController, profile-only loading pauses and applies the supported runtime pacing settings. Profile-plus-state loading reports runtime_applied: false until the canonical snapshot restore hook is connected; no partial neural-state mutation is claimed.

Reproducibility

Experiment manifests should bind profile_id, revision, profile digest and snapshot digest. This identifies exactly which technical configuration and state were studied without treating the profile as scientific evidence.