Docs
Pack format
The shape of a marketplace pack on Nixtra: the manifest, the genes and the fields each one allows.
Schema file
The JSON schema is at /docs/pack-format/schema.json. It is the source of truth for this page.
What this format is
A marketplace pack is one JSON document with three parts: a format version, a manifest and a list of genes. A gene is a plain-text instruction with a kind, a place where it applies and, optionally, a condition. The manifest says what the pack is for and carries the seller's declarations.
This page describes version 1.0 of that format. It is written from the JSON schema, which you can read and download: pack-1.0.schema.json. The schema is the source of truth. If this page and the schema differ, the schema wins.
This is not the format of a starter pack in the catalog. A starter pack is an AGF genome with a description around it, and the Docs page explains it. A marketplace pack is the smaller format below.
Top level
Every object in the format rejects fields that are not listed here. A pack with an extra field is refused.
- pack: the format version, a string such as
1.0. Any1.xvalue matches. Other major versions are refused. - manifest: the facts about the pack. See the next section.
- genes: a list with at least one gene.
Manifest
- title: 3 to 80 characters.
- language: a language tag such as
enorhi. The gene text is written in this language. - target_agents: 1 to 10 agents the pack is written for. Each one has an agent name (lower case letters, digits, underscore and hyphen, at most 64 characters) and tasks, a list of 1 to 5 task labels of 1 to 60 characters.
- attestation: the seller's declarations. It has explicit_authorship and no_customer_data, both true or false, and seller_terms_version, the version of the seller terms the seller accepted.
Genes
Each gene has these fields.
- key: 3 to 30 characters, lower case letters, digits and underscore, starting with a letter.
- kind: one of
style,rule,decision,businessandrole. - placement: where the gene applies. One of
agent,sharedandorg. - text: the instruction, plain text, at least one character. A pack carries instructions, not facts about people.
- overrides: optional. A list of keys of other genes that this gene replaces.
- scope: optional. A list of text labels.
- when: optional. A condition, described next.
- role_spec: optional, for a gene of kind
role. Described below.
The when condition
A condition has an all list of 1 to 4 tests. The gene applies only when every test holds. A test has a field, an op and a list of values.
- field is one of
task_type,category,input_has,languageandmode. - op is one of
eq,inandnot_in.
The role specification
A gene of kind role can say who plays which part in the work.
- role: one of
approver,recipient,reviewer,requesterandescalation. - label: a short name, at most 40 characters.
- condition: optional, at most 200 characters of plain text.
- task_types: optional, at most 10 task labels.
What the schema does not check
The schema checks shape only. When a pack is submitted, the service also runs eligibility checks and a scan of the text. They report findings in words, with a rule, a reason code and where the problem is. A block stops the pack from being published. A person reads every pack before it is listed.
Fields that only the platform may set, such as the seller, are not part of the format, so a pack that carries one is refused.
The copy of the schema on this site
The file at /docs/pack-format/schema.json is a copy of the schema kept by the IntelliNix API. It is compared with a recorded SHA-256 checksum on every test run, so a change to the copy cannot go unnoticed.