Community workspace manifest

idiolect.toml is the local control document for a community workspace. Field names use TOML spelling emitted by toml; the Rust structs use serde(rename_all = "camelCase").

Top level

FieldTypeRequiredMeaning
manifestVersionintegerdefault 1On-disk manifest format. Other versions are rejected.
communitytableyesCommunity identity and purpose.
packagesarray of tablesdefault emptyGoverned schema or vocabulary roots.
authoritiesarray of tablesdefault emptyDIDs and roles allowed to review or publish.
governancetabledefaultsDecision and verification policy.
resourcestabledefaultsLimits for untrusted inputs and bounded work.
federationarray of tablesdefault emptyPeer-community dependencies.
releasetabledefaultsBundle location and signing threshold.
exittabledefaultsMaterial included in portable exports.

[community]

FieldTypeMeaning
namestringParticipant-facing name. Must not be blank.
didstringCommunity or delegated-service DID. Must begin with did:.
descriptionstringPlain-language purpose and scope.
recordstring, optionalPublished dev.idiolect.community at-uri.

[[packages]]

FieldTypeDefaultMeaning
namestringnoneUnique stable local name.
pathstringnoneWorkspace-relative path. Absolute paths and parent traversal are rejected.
protocolstringatprotoCanonical Panproto protocol registry key.
crossDocumentbooleanfalseDocuments are intended to resolve internal references together.

[[authorities]]

FieldTypeMeaning
didstringAuthorized participant DID. Duplicate DIDs are rejected.
rolesstring arrayRoles accepted in reviews, such as member, maintainer, or steward.

[governance]

FieldTypeDefaultMeaning
modelenummaintainermaintainer, consent, vote, steward, or hybrid.
minApprovalsinteger1Minimum approvals required by the selected model.
quoruminteger1Minimum distinct participating reviewers.
approvalThresholdnumber0.5Vote approval ratio in the inclusive range 0–1.
reviewPeriodDaysinteger3Minimum public review period before release.
stewardReviewForstring arraybreaking, data-lossConsequences that require approving steward review.
requiredVerificationsstring arrayschema-compatibilityKinds that need a verified result before release.

The library evaluates reviewPeriodDays against packet creation time during release construction. A zero value disables the time delay but does not bypass reviews or verification.

[resources]

FieldTypeDefaultMeaning
maxDocumentsinteger256Maximum schema documents in one operation.
maxSchemaBytesinteger16777216Maximum total schema input bytes.
maxSearchStepsinteger100000Migration-search work-unit budget.
maxVerificationCasesinteger10000Maximum cases in one verification run.

[[federation]]

FieldTypeDefaultMeaning
communitystringnonePeer community record or DID.
relationstringnonefollows, extends, bridges, or forked-from.
releasestring, optionalnoneExact release or version requirement.
updatePolicystringreviewreview, follow-compatible, or pinned.
mappingsstring arrayemptyPublished lens or mapping at-uris.

[release]

FieldTypeDefaultMeaning
directorystring.idiolect/releasesWorkspace-relative release output directory.
minSignaturesinteger1Minimum distinct valid ES256 authority signatures.
publicationTargetstring, optionalnonePDS or registry target recorded for deployment tooling.

[exit]

All four fields are booleans and default to true: includeHistory, includePackages, includeMigrations, and includeReleases.

Validation commands

idiolect check --workspace .
idiolect doctor --workspace . --json

The JSON doctor output is stable enough for CI policy gates. Consumers should match diagnostic code, not prose message.