Development
Local verification
./scripts/verify.sh
This gate builds the .NET projects, runs tests, builds Platform Web, the product site, and the documentation site, then checks formatting, architecture, and product scope.
Development principles
- Update contracts before Platform API, record services, Web, and documentation;
- event ingestion accepts strongly typed
ProductionEventandInspectionRecordonly, never arbitrary SQL or scripts from callers; - Chat statistics, authorization, tool execution, and related records validation remain deterministic;
- every new tool is read-only by default and needs data-scope, result-size, and timeout limits;
- public copy uses Ingot Chat and does not expose internal implementation terminology;
- when a public interface changes, update bilingual documentation, the product site, and static-site tests together.
Event-contract changes
- Assess whether the event type, version, and fields remain backward compatible;
- update strong typed contracts and validation in
Ingot.Contracts; - add matching API, storage, and integration tests;
- record handling rules in the production event specification;
- validate with de-identified samples that Chat still produces correct limitations and related records.
Documentation and website
docs/ is the bilingual content source. apps/docs-site/ reads Markdown at build time and generates navigation, a search index, and static pages. apps/website/ is the product website. After a change, run at least:
npm --prefix apps/docs-site run build
npm --prefix apps/docs-site test
npm --prefix apps/website run build
npm --prefix apps/website test
See architecture, design, and the contribution guide.