�"�/G���֎�]��.��� �I������@M�6��I��%ɭ��̚���2b�"�/G���֎�]��.��� �Ւ1�j�i�
Sbz2N5"f}C=Yr6������qwiki �"�/G���֎�]��.��� � y���CM}��ЌEZi�G���Q|x�u?���Mzk����&���)��#��H�F��s�#�Ւ1�j�i�
Sbz2N5"f}C=Yr6������qk����&���)��#���s�����c\g}�� DxM�]g�
�jt�jhk����&���)��#��7.4C3�̀�Ӑ� 7T����lh� 7T����lh+ɑ���ң�h�;
�5DxM�]g�
�jt�jhy���CM}��ЌEZi�G���Q|x�u?���Mz�"�/G���֎�]��.���
'�B��u�I�|�UxN
v��0F�����experiment �"�/G���֎�]��.��� ;�9���p��g�l8;DZ�������f�$��archived �"�/G���֎�]��.��� bXA�w��Y�AR@dr|����{�����!+�wiki: register tag names �"�/G���֎�]��.��� wL��엠٥�C��/��떭�.���critique �"�/G���֎�]��.��� }�#r+*���/Ʋ��p���IK��5�usource �"�/G���֎�]��.��� � ��J�����9�7 ^�������ʫ2�)� �l���Ǝ`s�(o��p$+(�� �2|;�.��/��~�0��G���3Gpo�iy���Z1�l���Ǝ`s�(oM���\�4�:�NC��� ��vұ$�~���m$���kW֠�lEl���Ǝ`s�(o���ԗT
ŮͷQ�s|��I������@M�6��I��%ɭ��̚���2bl���Ǝ`s�(o�y��e�C�AAY<ع�� 7T����FP� 7T����FPl���Ǝ`s�(o��O���(�:<@���䙅�v�7qEk�k�)�n�Vs� ����l���Ǝ`s�(o����$|�hH����[��j��`śF�!�3����K�<$"w�^l���Ǝ`s�(o��x9nԱe�v��bXA�w��Y�AR@dr|����{�����!+��"�/G���֎�]��.��� �.U���SýYa�5N�
��
c�b����C�paper �"�/G���֎�]��.��� @ �� ��vұ$�~���m$���kW֠�lE������}=j̏��H�F��s�#�4����ɠ�T�
��FI9d1��:N������1G��ׇN���d8���H�F��s�#ћ��v ��NQ���E �f���̀�-��9��$:�,^a뼌�����H�F��s�#�h;Q06���������%/AIu��������H��c� G�&���6l?��H�F��s�#;�9���p��g�l8;DZ�������f�$��r�k㚊�7�@�T���H�F��s�#wL��엠٥�C��/��떭�.���}X���<JX��.��H�F��s�#}�#r+*���/Ʋ��p���IK��5�u�q�p����X�i =9d���H�F��s�#�.U���SýYa�5N�
��
c�b����C��kϐm'��;�[5R��H�F��s�#��
x�;Ґ
3� �����? �u_�8C+7�,�䕁z�-) �����H�F��s�#'�B��u�I�|�UxN
v��0F������"�/G���֎�]��.��� �h;Q06���������%/AIu��������finding �"�/G���֎�]��.��� ��
x�;Ґ
3� �����? �u_�8C+7concept �"�/G���֎�]��.���
�4����ɠ�T�
��FI9d1��:N�����hypothesis �"�/G���֎�]��.��� ћ��v ��NQ���E �f���̀�-��9��version �"�/G���֎�]��.��� � �����T�U*�k��i9�2�qR�DP�!v����j4{��D�0����p$+(�� �2|;�ݎ �<m�v�1*J�r�f���&fiޏ�~�G��j4{��D�0��'/�V�3lM.(�h�_��J�����9�7 ^�������ʫ2�)� ��j4{��D�0����H�F��s�#�Ւ1�j�i�
Sbz2N5"f}C=Yr6������q�j4{��D�0�چ��s�����c\g}�� DxM�]g�
�jt�jh�j4{��D�0�ړ�7.4C3�̀�Ӑ� 7T����|p� 7T����|p�j4{��D�0�ڝ�O���(�:<@������Մ=���%Ck���nq@�0Bw�R�y9��j4{��D�0�ڭ���$|�hH����[��j��`śF�!�3����K�<$"w�^+ɑ���ң�h�;
�5DxM�]g�
�jt�jh�����T�U*�k��i9�2�qR�DP�!v����"�/G���֎�]��.��� R�d�g��[3�M1�h�>rdB����q�r�Ffaculties �"�/G���֎�]��.��� -"_m1]� ��D����h�M뛳ä��Hy�Z�DzыZ+�Q�M� �� K��p$+(�� �2|;��tL� ����Y�7� ��S �)v�),m��ezыZ+�Q�M� �� K1pD�Ɛ
y��`��*��J�����9�7 ^�������ʫ2�)� �zыZ+�Q�M� �� KM���\�4�:�NC�N:H�pI!����ue�:�,i���:�<��zыZ+�Q�M� �� K���ԗT
ŮͷQ�s|��I������@M�6��I��%ɭ��̚���2bzыZ+�Q�M� �� K�y��e�C�AAY<ع�� 7T����8� 7T����8zыZ+�Q�M� �� K��O���(�:<@�����;W��T0��z���?6��2 DZ&��n/�<zыZ+�Q�M� �� K����$|�hH����[��j��`śF�!�3����K�<$"w�^zыZ+�Q�M� �� K��x9nԱe�v���,�N O��I
�j��:��8T5�-1v9����"�/G���֎�]��.��� � N:H�pI!����ue�:�,i���:�<��-x��I��׆������H�F��s�#�b���|���)�~�[z��,J;}l{j��j�>U�hX��m_��
�^���H�F��s�#R�d�g��[3�M1�h�>rdB����q�r�F_�G�����gL ,��m��F��zG�� ����S�@��џ�^N"��}z�aJ� l�T�Zg_�G�����gL ,��x���y%1��7-��_>��i���j���!�b�Z� �� [&鍥vN_�G�����gL ,������s�����F�Q �1G��ׇN���d8�_�G�����gL ,������s�����F�Q -x��I��׆����_�G�����gL ,������s�����F�Q >U�hX��m_��
�^�_�G�����gL ,������s�����F�Q ���O�5���
��)]/�_�G�����gL ,���y��e�C�AAY<ع�� 7T����� 7T������_�G�����gL ,����V�t�8�O_�h�� o3v���:#g���:���O�5���
��)]/���H�F��s�#Y&� bD�T�:����f�EGY;��d}{��"�/G���֎�]��.���
Y&� bD�T�:����f�EGY;��d}{�onboarding �"�/G���֎�]��.��� . �@��џ�^N"��}z�aJ� l�T�Zg= How Faculties Work
Faculties are self-contained `rust-script` scripts living in a
`faculties/` checkout (the canonical upstream is
#link("https://github.com/triblespace/faculties")[github.com/triblespace/faculties]).
Each one is a CLI that reads and writes a TribleSpace pile via
the `triblespace` crate.
== Mental model
- One faculty = one cognitive verb (`compass` for goals,
`wiki` for fragments, `files` for archived artefacts,
`local_messages` for direct messages, etc.)
- Each faculty owns a *branch* in the pile (`compass`,
`wiki`, `files`, …) and writes its own commits there.
- Branches are merged independently; touching `compass` doesn't
invalidate `wiki`.
- All scripts honour `PILE=/path/to/self.pile` as an environment
variable — set it once per session and skip `--pile` on every
call.
== Discovery
`ls $(dirname $(which wiki))` (or `ls path/to/faculties/`
if you haven't put them on PATH yet) shows what's available.
Each faculty supports `--help` listing its subcommands;
subcommands take their own `--help` for argument detail.
== Why this shape
The agent acts through shell commands and observes concrete
output. A faculty is the smallest possible "verb you can run from
a shell that produces a durable side effect." The pile is the
single source of truth — everything the agent thinks, decides, or
produces accretes there as content-addressed blobs.
This is the *shell-first causality* design: model speaks to the
world via shell, the world speaks back via stdout, and the pile
remembers everything between turns.
�"�/G���֎�]��.��� ��i���j���!�b�Z� �� [&鍥vNHow Faculties Work �"�/G���֎�]��.��� ��,�N O��I
�j��:��8T5�-1v9���wiki create �"�/G���֎�]��.��� �b���|���)�~�[z��,J;}l{j��j�bootstrap �"�/G���֎�]��.��� � 26����.G)��$�����M9�S_9��P�T7�qaJK���1��p$+(�� �2|;�(F#f�HϽ��7�x_K,�{"��(8@����W�T7�qaJK���1'/�V�3lM.(�h�_-"_m1]� ��D����h�M뛳ä��Hy�Z�D�T7�qaJK���1��H�F��s�#�Ւ1�j�i�
Sbz2N5"f}C=Yr6������q�T7�qaJK���1���s�����c\g}�� DxM�]g�
�jt�jh�T7�qaJK���1��7.4C3�̀�Ӑ� 7T����� � 7T����� �T7�qaJK���1��O���(�:<@�����Dp A�
���+HH
�A�|��¡?ij��T7�qaJK���1����$|�hH����[��j��`śF�!�3����K�<$"w�^+ɑ���ң�h�;
�5DxM�]g�
�jt�jh26����.G)��$�����M9�S_9��P�"�/G���֎�]��.��� T�����$=�v�t��J�
�7�e`n��Wiki Fragment Style Guide �"�/G���֎�]��.��� V f�t�B��z|Z ������<�m����X�m�= Wiki Fragment Style Guide
A wiki fragment captures one thing worth keeping past this turn.
Atomic, cross-linked, written in typst, rendered by GORBIE.
== Authoring
- `wiki create "Title" "@/tmp/body.typ" --tag <tag>...` —
create a new fragment from a file.
- `wiki create "Title" "@-" --tag <tag>` — read body from
stdin (useful in pipes).
- `wiki edit <ID> @/tmp/body.typ` — bump a new version of an
existing fragment.
- `wiki lint` — lint markdown→typst, expand short ids,
rebuild the `links_to` index.
- `wiki check` — diagnose orphan fragments, broken links,
truncated ids, missing format tags.
== One claim per fragment
If you find yourself writing "and another thing", split. The
fragment's title should fit on one line and accurately describe
its single claim. Cross-link by reference (`wiki:<full-id>`).
== Tagging
Tags are how you find related fragments later. `--tag design`,
`--tag triblespace`, `--tag onboarding`, etc. Tags are minted
on first use; pick consistent labels (`#design` not
`#desing`).
== Typst, not markdown
Bodies are typst (`.typ`-shaped). The wiki faculty parses them on
create/edit and rejects malformed input. GORBIE renders them with
math mode, code blocks, links. Avoid raw HTML; typst markup beats
it everywhere.
== When NOT to use the wiki
- Per-task working notes that the conversation already covers
— the moment-history captures those.
- Status of in-flight work — that goes in compass goals.
- Binary artefacts — `files add` puts them content-addressed
in the pile and gives you a `files:<hash>` reference.
�"�/G���֎�]��.��� ���ѯ�߅ۣ>m�� _te3:�y�I��>�EE=��h#�V��p$+(�� �2|;�jk%�4�h$ç�l���$�Y� ���O5mxn��>�EE=��h#�V1pD�Ɛ
y��`��*-"_m1]� ��D����h�M뛳ä��Hy�Z�D��>�EE=��h#�VM���\�4�:�NC��&E�z �(�"��
N����@�Mm�@���d���>�EE=��h#�V���ԗT
ŮͷQ�s|��I������@M�6��I��%ɭ��̚���2b��>�EE=��h#�V�y��e�C�AAY<ع�� 7T���)�� 7T���)���>�EE=��h#�V��O���(�:<@����o2>_G�'�?��d��U��� MG �0�.���5��>�EE=��h#�V����$|�hH����[*}Ay\�EAԚk� �wӶ]Șȶ�O�X�`��>�EE=��h#�V��x9nԱe�v���,�N O��I
�j��:��8T5�-1v9����"�/G���֎�]��.��� @ �&E�z �(�"��
N����@�Mm�@���d�(|����t� ��<�� m��F��zG�� ����Sf�t�B��z|Z ������<�m����X�m�(|����t� ��<�� x���y%1��7-��_>T�����$=�v�t��J�
�7�e`n��(|����t� ��<�� ����s�����F�Q �1G��ׇN���d8�(|����t� ��<�� ����s�����F�Q -x��I��׆����(|����t� ��<�� ����s�����F�Q x��T:l��#Gd�ï�(|����t� ��<�� ����s�����F�Q ���O�5���
��)]/�(|����t� ��<�� �y��e�C�AAY<ع�� 7T���("�� 7T���("�(|����t� ��<�� ��V�t�8�O_�h�� !!�O���Ou=y�N��x��T:l��#Gd�ï���H�F��s�#�Ւ1�j�i�
Sbz2N5"f}C=Yr6������q�"�/G���֎�]��.��� � [O.�DK6r^�bI)<�����f�C���!2��x�ק��ӓ7�;��p$+(�� �2|;�?�+@���.�QM�/v/8�e�B�0�)�����x�ק��ӓ7�;'/�V�3lM.(�h�_���ѯ�߅ۣ>m�� _te3:�y�I��x�ק��ӓ7�;��H�F��s�#�Ւ1�j�i�
Sbz2N5"f}C=Yr6������q��x�ק��ӓ7�;���s�����c\g}�� DxM�]g�
�jt�jh��x�ק��ӓ7�;��7.4C3�̀�Ӑ� 7T���*�� 7T���*���x�ק��ӓ7�;��O���(�:<@���䙤~�=�����\c���J��4��e�/)P�T'�+L��x�ק��ӓ7�;����$|�hH����[*}Ay\�EAԚk� �wӶ]Șȶ�O�X�`+ɑ���ң�h�;
�5DxM�]g�
�jt�jh[O.�DK6r^�bI)<�����f�C���!2�"�/G���֎�]��.��� [̾1��y��!�v1(y�
g`�IG�m?KIT; �l�Pۧ6�q�T���p$+(�� �2|;ƕ�%�|������6�U�Z�s��[�`2�� �l�Pۧ6�q�T�1pD�Ɛ
y��`��*���ѯ�߅ۣ>m�� _te3:�y�I �l�Pۧ6�q�T�M���\�4�:�NC�����:��=�7���BtB`���d�=�7��`� �l�Pۧ6�q�T����ԗT
ŮͷQ�s|��I������@M�6��I��%ɭ��̚���2b �l�Pۧ6�q�T��y��e�C�AAY<ع�� 7T���q�� 7T���q� �l�Pۧ6�q�T���O���(�:<@������
U���k4�Y4���g5,�yraY_�UE�g� �l�Pۧ6�q�T�����$|�hH����[<
A;��N���PhG���
�b��k~�8��3�� �l�Pۧ6�q�T���x9nԱe�v���,�N O��I
�j��:��8T5�-1v9����"�/G���֎�]��.��� V*�]D�ĝ�0�"�x��No)!�� ��1Compass Goals Workflow �"�/G���֎�]��.��� O1}X�A�{�K&]�rh%�`��c�x�[$�compass �"�/G���֎�]��.��� � ɪ�����\���\W�h�˯���H�P�dF�l= Compass Goals Workflow
`compass` is the goal/task tracker. Use it instead of
Claude Code's TaskCreate/TaskUpdate — compass goals persist
across sessions and merge between agents; the harness's task
list does neither.
== Statuses
- `todo` — queued, not started
- `doing` — actively in progress
- `blocked` — waiting on something external
- `done` — finished, with an outcome note
Stick to those four unless there's a strong reason to introduce
another.
== Daily flow
+ `compass list` — see your active goals
+ Pick one, `compass status <id> doing` — claim it
+ Add notes as you decide things: `compass note <id> "..."`
+ When finished: `compass status <id> done` then a final
note recording the outcome
+ Repeat
== Hierarchy
`compass goal-create --parent <id>` creates a sub-goal. Use
this when a goal naturally breaks into 3+ steps you'll want to
track separately. Don't sub-goal trivial steps — the conversation
itself is the right level for "and now do X".
== Tags
Compass tags work like wiki tags. Common ones:
`#meta`, `#bootstrap`, `#parking` (see Scope Control below),
plus project-specific tags (`#liora` in the Liora project,
`#deploy` for ops work, etc.).
== Scope control: parking lot
Mid-task ideas that would take >2 minutes go in compass with
a `#parking` or `#later` tag. Then *return to the current goal*.
Near the end of a session, do a parking-lot sweep: promote
0–2 parked items to active, leave the rest.
The parking discipline keeps the agent from infinitely-context-
switching and producing nothing. Compass is the queue; the
conversation is the executor.
== When NOT to use compass
- In-conversation TodoWrite-style step planning is fine for
"the next 20 minutes" — compass is for goals you'd want to
pick up later, including in a future session.
- Pure scratch state ("what was I about to do") — that's the
conversation itself.
�"�/G���֎�]��.��� @ ����:��=�7���BtB`���d�=�7��`�KS��3��?P��չ?}m��F��zG�� ����Sɪ�����\���\W�h�˯���H�P�dF�lKS��3��?P��չ?}x���y%1��7-��_>V*�]D�ĝ�0�"�x��No)!�� ��1KS��3��?P��չ?}����s�����F�Q �1G��ׇN���d8�KS��3��?P��չ?}����s�����F�Q -x��I��׆����KS��3��?P��չ?}����s�����F�Q �um|�DJG��uC�;zKS��3��?P��չ?}����s�����F�Q ���O�5���
��)]/�KS��3��?P��չ?}�y��e�C�AAY<ع�� 7T���p3X� 7T���p3XKS��3��?P��չ?}��V�t�8�O_�h�� h7��5�!tzZg]��um|�DJG��uC�;z��H�F��s�#O1}X�A�{�K&]�rh%�`��c�x�[$��"�/G���֎�]��.��� � ��(�L"=6���ƧEpy�`�B�5Qj�s0����H�������Id9���p$+(�� �2|;�s!�*�����e�%
e��v6K�}9��w��]���H�������Id9�'/�V�3lM.(�h�_[̾1��y��!�v1(y�
g`�IG�m?KIT;��H�������Id9���H�F��s�#�Ւ1�j�i�
Sbz2N5"f}C=Yr6������q��H�������Id9����s�����c\g}�� DxM�]g�
�jt�jh��H�������Id9���7.4C3�̀�Ӑ� 7T���r�`� 7T���r�`��H�������Id9���O���(�:<@�����=0��-۠��N��*�S#�����H{�L��H�������Id9�����$|�hH����[<
A;��N���PhG���
�b��k~�8��3��+ɑ���ң�h�;
�5DxM�]g�
�jt�jh��(�L"=6���ƧEpy�`�B�5Qj�s0���"�/G���֎�]�/��� �RM_�u�f�%
'y`���I��C#l1��^^ᵙ�b'#,�`���p$+(�� �2|;��ZH�~JYj��F������n�{D�~�^^ᵙ�b'#,�`�1pD�Ɛ
y��`��*[̾1��y��!�v1(y�
g`�IG�m?KIT;^^ᵙ�b'#,�`�M���\�4�:�NC����&(����`�_�~���ƻ�V�&?l��o^^ᵙ�b'#,�`����ԗT
ŮͷQ�s|��I������@M�6��I��%ɭ��̚���2b^^ᵙ�b'#,�`��y��e�C�AAY<ع�� 7T���s�� 7T���s�^^ᵙ�b'#,�`���O���(�:<@���䙎^�H��՝�I��-4�jh��&�SQ�s^ f=n^^ᵙ�b'#,�`�����$|�hH����[��Uޙg��Y��I�Oo{����֩�dj^^ᵙ�b'#,�`���x9nԱe�v���,�N O��I
�j��:��8T5�-1v9����"�/G���֎�]�/��� 4h���F�n~��u��c8`]i*k�YyI�subagents �"�/G���֎�]�/��� � C{*���!�WI���,/��~$�P��L
W���= When to Use Codex (and When Not To)
Codex is a separate agent runtime you can launch from your shell.
Treat yourself as the *control plane*, codex as the *data plane*:
you supervise, plan, integrate; codex grinds.
== When codex earns its weight
- Long literature trawls (read 30 papers, summarise each).
- Multi-round experiments (run a benchmark, tune a knob, rerun,
compare).
- Parallelisable code generation (port 12 similar files).
- Anything where the *token cost of reading* dominates.
Codex has abundant token quota and no stateful supervision. You
have `/loop` and limited quota. Match the work to the tool.
== When codex is overhead
- Short tasks (under 10 min wall-clock).
- Tasks where supervising codex's output costs more time than
doing it yourself.
- Tasks where the answer is already in your context — codex
would just re-derive it.
== Launch pattern
```sh
codex exec --dangerously-bypass-approvals-and-sandbox \
--skip-git-repo-check \
"$(cat /tmp/prompt.txt)" \
< /dev/null > /tmp/log 2>&1
```
Run via Bash with `run_in_background: true` and *no trailing `&`*.
The `< /dev/null` is *required* — codex blocks on stdin
indefinitely otherwise. The `&` is *forbidden* — it detaches
codex from the shell and fires the task-completion notification
instantly.
== Prompt discipline
- Inline all context (one paragraph, no "see file X").
- State the specific deliverable path (`/tmp/codex_outputs/...`)
and demand a heredoc.
- Set a budget ("~15 min, stub if you run out").
- Wrap the resulting `.typ` file as a wiki fragment yourself —
don't have codex invoke `wiki create` directly. Sanity-check
is easier from your side first.
�"�/G���֎�]�/��� # ��}��B�zr�]]�biP+�����ӡ���When to Use Codex (and When Not To) �"�/G���֎�]�/��� �;��1���Ta3����ȱ58/D�D �k�FTcodex �"�/G���֎�]�/��� � ���&(����`�_�~���ƻ�V�&?l��o�3�XsP�jA?���f*��H�F��s�#�;��1���Ta3����ȱ58/D�D �k�FT��g��J�r�� ��m��F��zG�� ����SC{*���!�WI���,/��~$�P��L
W�����g��J�r�� ��x���y%1��7-��_>��}��B�zr�]]�biP+�����ӡ����g��J�r�� ������s�����F�Q �3�XsP�jA?���f*��g��J�r�� ������s�����F�Q �1G��ׇN���d8Ϧ�g��J�r�� ������s�����F�Q -x��I��׆���զ�g��J�r�� ������s�����F�Q ���O�5���
��)]/���g��J�r�� ������s�����F�Q �Z�&��oY���X¦�g��J�r�� ���y��e�C�AAY<ع�� 7T���r��� 7T���r����g��J�r�� ����V�t�8�O_�h�� ;b�P�`�l�����~�Z�&��oY���X���H�F��s�#4h���F�n~��u��c8`]i*k�YyI��"�/G���֎�]�/��� � ��ye3�+���F�9WG1�����e*�<NKU�}���Y�fǮ������p$+(�� �2|;�i��u4��@�����kL�bXXb-";s~`�?CU�}���Y�fǮ����'/�V�3lM.(�h�_�RM_�u�f�%
'y`���I��C#l1��U�}���Y�fǮ������H�F��s�#�Ւ1�j�i�
Sbz2N5"f}C=Yr6������qU�}���Y�fǮ�������s�����c\g}�� DxM�]g�
�jt�jhU�}���Y�fǮ������7.4C3�̀�Ӑ� 7T���uFp� 7T���uFpU�}���Y�fǮ������O���(�:<@����BsG-f6/�Z��kW�(c�L���u��b^mg�U�}���Y�fǮ��������$|�hH����[��Uޙg��Y��I�Oo{����֩�dj+ɑ���ң�h�;
�5DxM�]g�
�jt�jh��ye3�+���F�9WG1�����e*�<NK�"�/G���֎�]�/��� � @�����(
�5�uS,X�%�u�T/�0Y!l���w�] Z"
�"x���H�F��s�#���t��/n-�_�r�c����������F�V��_.������ڙ�0ł��m��F��zG�� ����SY��KS�GC�Y�J�ע[��V
���*揤�?+�_.������ڙ�0ł��x���y%1��7-��_>+LS<K6�%�'�;xY\���x{/;46P�a �_.������ڙ�0ł������s�����F�Q l���w�] Z"
�"x�_.������ڙ�0ł������s�����F�Q �1G��ׇN���d8�_.������ڙ�0ł������s�����F�Q -x��I��׆����_.������ڙ�0ł������s�����F�Q ���O�5���
��)]/�_.������ڙ�0ł������s�����F�Q �=3�%F��e�=e�_.������ڙ�0ł���y��e�C�AAY<ع�� 7T���v;�� 7T���v;�_.������ڙ�0ł����V�t�8�O_�h�� �C�W�D��r����=3�%F��e�=e���H�F��s�#J�mM#�D��{��}8o��&G�����g���"�/G���֎�]�/��� +LS<K6�%�'�;xY\���x{/;46P�a �Work As Its Own Ledger �"�/G���֎�]�/��� J�mM#�D��{��}8o��&G�����g��principle �"�/G���֎�]�/��� � Y��KS�GC�Y�J�ע[��V
���*揤�?+�= Work As Its Own Ledger
The design principle behind faculties: provenance, versioning,
and history must be *exhaust* from the work, not separate
obligations on top of it.
== The test
Is the bookkeeping a side effect of the workflow, or a separate
step? If separate, redesign until it's not.
- Git works because branching saves your ass while you're
coding. The history is exhaust.
- Systems that require "documentation steps" fail. The agent
forgets, the human forgets, the docs drift.
== How faculties embody this
- `wiki create` *is* the writing. The fragment is durable
the moment it's saved.
- `compass status <id> doing` *is* the claim. No separate
"log that I started this".
- `files add <path>` *is* the archive step. The handle is
the citation.
- Pile commits *are* the version history. No separate
snapshotting.
== The corollary: don't write throwaway markdown
Free-floating `.md` plan files in repos are a red flag. They:
- Don't merge between agents.
- Don't show up in `wiki list`.
- Aren't content-addressed.
- Drift the moment you stop editing them.
If the content is worth keeping past this turn, it goes in the
pile (wiki / compass / files). If it's not, the conversation
itself is enough.
== Further reading
The bootstrap-pile design conversation walking through how this
principle drives the onboarding system itself lives in the
project that ships this pile (search for "Bootstrap Pile" in
the local pile, or in the `faculties` repo's design notes).
�"�/G���֎�]�/��� ������|%��B}I#��]&q��]S4��c��s�k��byڎ�^�5��p$+(�� �2|;�T;��[��
���I���
��þy����PB ��s�k��byڎ�^�51pD�Ɛ
y��`��*�RM_�u�f�%
'y`���I��C#l1����s�k��byڎ�^�5M���\�4�:�NC�@�����(
�5�uS,X�%�u�T/�0Y!��s�k��byڎ�^�5���ԗT
ŮͷQ�s|��I������@M�6��I��%ɭ��̚���2b��s�k��byڎ�^�5�y��e�C�AAY<ع�� 7T���w�� 7T���w���s�k��byڎ�^�5��O���(�:<@���䙫x�5�_��w1?=;�/���՚���%���F�C��s�k��byڎ�^�5����$|�hH����[e9݁����l[��z+h�����:� }@��'��s�k��byڎ�^�5��x9nԱe�v���,�N O��I
�j��:��8T5�-1v9����"�/G���֎�]�/��� ���t��/n-�_�r�c����������F�V��design �"�/G���֎�]�/��� � �X�@�ቧ�c��t�l+�4U��e%���C����o�/*�B������p$+(�� �2|;�wٛ�Fk�yhS�V�gCQ�f�m(�,-8��bC����o�/*�B����'/�V�3lM.(�h�_������|%��B}I#��]&q��]S4��cC����o�/*�B������H�F��s�#�Ւ1�j�i�
Sbz2N5"f}C=Yr6������qC����o�/*�B���ņ��s�����c\g}�� DxM�]g�
�jt�jhC����o�/*�B���œ�7.4C3�̀�Ӑ� 7T���x��� 7T���x��C����o�/*�B���ŝ�O���(�:<@����y%��\��[WF�n�H�>?|M�=S�A�>O�;C����o�/*�B���ŭ���$|�hH����[e9݁����l[��z+h�����:� }@��'+ɑ���ң�h�;
�5DxM�]g�
�jt�jh�X�@�ቧ�c��t�l+�4U��e%����"�/G���֎�]�1/��� :��R������urH�V?�����:`�H 4Tool Selection: Faculties First �"�/G���֎�]�1/��� R�k,��f�u�z{\:�J���˾�� ��t)�reference �"�/G���֎�]�1/��� � T��ʶ��<��Z�u�j�8����'���= Tool Selection: Faculties First
A quick lookup for "which tool do I reach for here?"
== Goals and tasks
- *Use* `compass goal-create` / `status` / `note`.
- *Don't use* the harness's TaskCreate / TaskUpdate for
persistent goals — those vanish at end of session.
- *Do use* TaskCreate inline within a single conversation when
you need a step-tracker for "the next 20 minutes". Compass
is for "still on my plate next week".
== Knowledge fragments
- *Use* `wiki create / edit / lint`.
- *Don't use* free-floating `.md` files in repos.
- *Exception*: when a downstream consumer needs the file at a
specific path (a crate's `CHANGELOG.md`, a `book/src/`
chapter rendered by mdbook), then `.md` is correct.
== Files (PDFs, datasets, binaries)
- *Use* `files add <path>`. Returns a `files:<hash>` handle
you cite from wiki fragments.
- *Don't use* `/tmp` for anything you'll want past this turn.
- *Don't commit* binaries to repos — they bloat the history.
== Direct messages between agents
- *Use* `local_messages` for in-place agent-to-agent
messaging (append-only, with read acknowledgements).
- For shared knowledge between two agents: a wiki fragment
they both query is usually better than a message.
== Subagents
- *Use* codex for parallelisable / token-heavy work where
supervision overhead is amortised (see the "When to Use
Codex" bootstrap fragment).
- *Use* the harness's Agent tool for short focused
sub-tasks that share your conversational context (e.g.
"Explore: find files matching pattern X").
- *Don't use* either for tasks under ~5 min — direct execution
beats subagent-launch overhead.
== Plans
- *Prefer* in-conversation plans + compass goals.
- *Don't* write `PLAN.md` / `TODO.md` files in repos. They
accrete stale sections.
- *Exception*: an explicit user request for a written plan
document, where the user wants to review before execution.
�"�/G���֎�]�1/��� �[=d�����q������L���i��5�+��W\�qy���N&����p$+(�� �2|;Ǝ����y+/�"�1�?�[1n6P�'x
D��W\�qy���N&��1pD�Ɛ
y��`��*������|%��B}I#��]&q��]S4��c��W\�qy���N&��M���\�4�:�NC��}�bǸ^����B�0�]>��j���f�f+u���W\�qy���N&�ʈ��ԗT
ŮͷQ�s|��I������@M�6��I��%ɭ��̚���2b��W\�qy���N&�ʛy��e�C�AAY<ع�� 7T����h(� 7T����h(��W\�qy���N&�ʝ�O���(�:<@����ǪX�ËƱ��|��m-��f#�81N��"ʅ�p���W\�qy���N&�ʭ���$|�hH����[w����::T�|��Je=)��P/��(6��٧����W\�qy���N&�ʵ�x9nԱe�v���,�N O��I
�j��:��8T5�-1v9����"�/G���֎�]�1/��� � �}�bǸ^����B�0�]>��j���f�f+u�4����g�5L$����m��F��zG�� ����ST��ʶ��<��Z�u�j�8����'���4����g�5L$����x���y%1��7-��_>:��R������urH�V?�����:`�H 44����g�5L$��������s�����F�Q �1G��ׇN���d8�4����g�5L$��������s�����F�Q -x��I��׆����4����g�5L$��������s�����F�Q H(Fy}�c��Kvj�Ñ4����g�5L$��������s�����F�Q ���O�5���
��)]/�4����g�5L$��������s�����F�Q �T�����n!����~e4����g�5L$�����y��e�C�AAY<ع�� 7T������� 7T������4����g�5L$������V�t�8�O_�h�� WQ�p�0�l�O�6�+pH(Fy}�c��Kvj�Ñ��H�F��s�#R�k,��f�u�z{\:�J���˾�� ��t)��T�����n!����~e��H�F��s�#��F3@�<���$�ݧ�sL�����}"itzysh�"�/G���֎�]�1/��� ��F3@�<���$�ݧ�sL�����}"itzyshtools �"�/G���֎�]�1/��� � f�۾]�n� z�'��W��8���UA/�f�E�X`�V���$i����p$+(�� �2|;�g�6s�R
5�]:�me)|_�h�Xe�I���X`�V���$i��'/�V�3lM.(�h�_�[=d�����q������L���i��5�+�X`�V���$i����H�F��s�#�Ւ1�j�i�
Sbz2N5"f}C=Yr6������q�X`�V���$i�����s�����c\g}�� DxM�]g�
�jt�jh�X`�V���$i����7.4C3�̀�Ӑ� 7T����H�� 7T����H��X`�V���$i����O���(�:<@����Ս�xU��(��d�8v, ���lx����X`�V���$i������$|�hH����[w����::T�|��Je=)��P/��(6��٧��+ɑ���ң�h�;
�5DxM�]g�
�jt�jhf�۾]�n� z�'��W��8���UA/�f�E�"�/G���֎�]�J/���
7Ͼ��tG8� ��"