Appendix B — record shapes
.familiar/installed.json
{ "schema": "1.1", "core": { "id": "familiar", "version": "1.0.2" }, "adapters": { "claude": { "project-instructions": "active", "...": "..." } }}A release build adds "build": "<commit>" inside core (§12.1). The source files never carry it.
There is no separate list of extensions. The agent finds an installed extension from its package
under .familiar/extensions/<id>/package/ and its own familiar-extension.json manifest (§11.4).
installed.json has no entry for it.
There is no .familiar/backups/ and no transaction record, because there is no installer that needs
them. The updater’s own backups go to 5-System/_update-backups/ (§12.1).