This document defines how Spark Intelligence attaches and activates domain chips.
The goal is to use domain chips as real specialization modules without:
- hardcoding domain logic into the base runtime
- turning chips into branding-only presets
- giving chips ownership over identity, channels, or security boundaries
Domain chips should attach through a narrow, explicit contract.
They are specialization modules, not alternate runtimes.
Chips should be attachable, inspectable, and removable without rewriting the runtime shell.
Chips should integrate through Spark Researcher and related Spark surfaces, not through random adapter hooks.
Chips must not own:
- identity
- pairing
- provider auth
- channel auth
Attaching a chip should add capability, not a new subsystem zoo.
A domain chip may own:
- domain-specific evaluation logic
- domain-specific suggestion logic
- domain packets and doctrine
- bounded watchtower or review logic
- scoped workflows and heuristics
A domain chip does not own:
- human identity
- session continuity
- adapter transport
- global memory doctrine
- tool approval policy
Current Spark chip contracts already expose hooks such as:
evaluatesuggestpacketswatchtower
Spark Intelligence should reuse those shapes where possible instead of inventing a parallel chip protocol.
For chips that expose spark-hook-io.v1, Spark Intelligence should treat the hook command map in spark-chip.json as the canonical runtime invocation contract.
Recommended v1 attachment record:
id
agent_id
chip_key
chip_manifest_path
status
attachment_mode
priority
schema_version
io_protocol
commands
created_at
updated_at
Recommended v1 activation modes:
inactiveavailableactivepinned
Not every attached chip needs to be active on every request.
Chip selection should consider:
- active Spark profile
- active specialization path
- current task domain
- explicit user or operator preference
Do not activate chips just because they exist.
Spark Intelligence may decide which chips are in scope for a request.
Spark Researcher and related Spark surfaces should do the domain-intelligence work once those chips are in scope.
Chips must not become a second identity system.
Chips must not silently own provider or adapter secrets.
11.3 No Hidden Tool Escalation
Attaching a chip must not silently widen tool authority.
Chip invocation should remain contract-driven and auditable.
When a chip exposes io_protocol = spark-hook-io.v1, Spark Intelligence should invoke the chip through a temporary JSON input file plus a temporary JSON output file, not through ad hoc prompt-copying. That same contract should work for:
- operator inspection
- builder CLI execution
- future bridge/runtime use
- future domain chips beyond startup
For v1:
- support a small starter chip set
- expose chip attachment visibly in operator state
- keep chip activation narrow and explicit
- standardize chip execution through the existing Spark hook model rather than one-off prompt adapters
Domain chips in Spark Intelligence should behave like real specialization modules attached through a narrow Spark-native contract.
They deepen the agent.
They do not replace the runtime shell or the security model.