Core Component Policy

Core component policy controls runtime activation for packaged product components. The initial disableable component is core:codescan. Disablement does not uninstall or rewrite it.

Selected profile

Add a components map to the selected project or user profile JSON:

{
  "components": {
    "core:codescan": { "enabled": false }
  }
}

An omitted entry uses the product composition default. An explicit enable cannot override a user-local or propagated deny. Profile changes apply after restart and do not alter the active session generation.

/profile components view
/profile component disable core:codescan
/profile component enable core:codescan

User-local deny floor

Create OMEGON_HOME/component-policy.json to deny components across selected profiles:

{
  "schemaVersion": 1,
  "components": {
    "core:*": { "enabled": false }
  }
}

This file is deny-only. Remove an entry to remove its deny. core:* selects all release-declared disableable components. It cannot disable the constitutional kernel, default loop, host effects, or maintenance recovery capability.

Strict validation

Omegon rejects unknown fields, invalid value types, malformed selectors, unknown exact IDs, unsupported schema versions, and non-disableable targets. Errors include the source path and invalid field or selector. Validation completes before discovery, readiness checks, or spawn.

Runtime behavior

A denied component remains packaged but does not start, index, or mutate its database. Its tools are removed from the model-callable schema. Direct CLI, ACP, and tool invocation returnsservice:disabled, core:codescan, and exact policy-source provenance.

Migration and extensions

A legacy extensions.disabled entry for omegon-codescan still denies the component. A canonical profile save migrates only that entry and preserves unrelated extension policy. /extension enable|disable controls operator-managed SDK extension state. It does not change product component policy.

Package and update integrity

Runtime denial never weakens archive inventory, signed member digests, resident locks, atomic generation activation, or rollback validation. Missing or corrupt required codescan files still fail package and update validation when core:codescan is denied.