-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMANIFEST.honest
More file actions
1743 lines (1537 loc) · 88.4 KB
/
MANIFEST.honest
File metadata and controls
1743 lines (1537 loc) · 88.4 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
{ NBS Framework Manifest — Single source of truth for tool, skill, and document discovery }
{ Machine-parseable via honest-get, human-readable by design }
type
EntryKind = (Tool, Skill, Document, Concept);
Keywords = sequence of String;
ManifestEntry = record
kind : EntryKind;
name : String;
path : String;
summary : String;
when_to_use : String;
keywords : Keywords;
end;
Entries = sequence of ManifestEntry;
Manifest = record
version : String;
entries : Entries;
end;
var manifest : Manifest = (
version : '0.1.0';
entries : (
{ ============================================================= }
{ --- Tools --- }
{ ============================================================= }
(
kind : Tool;
name : 'nbs-chat';
path : 'docs/tools/nbs-chat.md';
summary : 'Send, read, search, create, and manage chat files. Includes cursor-set, count, and companion tools nbs-chat-session-end and nbs-chat-resume.';
when_to_use : 'When you need to send messages, read chat history, search conversations, manage cursors, count messages, or end/resume a session.';
keywords : ('chat'; 'send'; 'read'; 'search'; 'message'; 'cursor-set'; 'count'; 'cursor'; 'create'; 'session-end'; 'resume'; 'session'; 'pause');
);
(
kind : Tool;
name : 'nbs-chat-terminal';
path : 'docs/tools/nbs-chat-terminal.md';
summary : 'Interactive terminal client for real-time chat with background message polling and /browse mode.';
when_to_use : 'When a human wants to participate in a live chat session with agents.';
keywords : ('chat'; 'terminal'; 'interactive'; 'browse'; 'live'; 'polling');
);
(
kind : Tool;
name : 'nbs-chat-edit';
path : 'docs/tools/nbs-chat-edit.md';
summary : 'Full-screen editor for chat files with delete, truncate, undo, and atomic rewrite.';
when_to_use : 'When you need to delete or truncate messages from a chat file.';
keywords : ('chat'; 'edit'; 'delete'; 'truncate'; 'undo'; 'editor');
);
(
kind : Tool;
name : 'nbs-dashboard';
path : 'docs/tools/tools.md';
summary : 'Live full-screen team dashboard showing agent status, sidecar health, cursor position, and activity with drill-down into terminal output.';
when_to_use : 'When a human wants a continuous at-a-glance view of all agents without repeatedly running /health.';
keywords : ('dashboard'; 'monitor'; 'status'; 'agents'; 'sidecars'; 'overview'; 'live');
);
(
kind : Tool;
name : 'nbs-ts';
path : 'docs/tools/nbs-ts.md';
summary : 'Terminal session manager — create, send input to, read output from, and manage PTY sessions. Supports --idle-timeout=SECS on create for automatic cleanup of abandoned sessions.';
when_to_use : 'When you need to run commands in a persistent terminal session, capture output, or automate interactive programs.';
keywords : ('terminal'; 'session'; 'pty'; 'send'; 'read'; 'capture'; 'interactive'; 'tmux'; 'idle'; 'timeout');
);
(
kind : Tool;
name : 'nbs-md-viewer';
path : 'docs/tools/nbs-md-viewer.md';
summary : 'Full-screen markdown viewer with syntax highlighting, tables, and vim-style navigation.';
when_to_use : 'When you need to render and browse a markdown document with styled output in the terminal.';
keywords : ('markdown'; 'viewer'; 'render'; 'syntax'; 'highlight'; 'table'; 'pager');
);
(
kind : Tool;
name : 'nbs-bus';
path : 'docs/tools/nbs-bus.md';
summary : 'Event bus for publishing and consuming events between agents and sidecars.';
when_to_use : 'When you need to publish events, trigger actions, or coordinate between agents asynchronously.';
keywords : ('bus'; 'event'; 'publish'; 'consume'; 'trigger'; 'async'; 'coordination');
);
(
kind : Tool;
name : 'nbs-sidecar';
path : 'docs/tools/nbs-sidecar.md';
summary : 'Background daemon that monitors agent sessions, detects mentions, and triggers responses.';
when_to_use : 'Runs automatically alongside each agent — not invoked directly.';
keywords : ('sidecar'; 'monitor'; 'mention'; 'detect'; 'trigger'; 'daemon'; 'background');
);
(
kind : Tool;
name : 'nbs-chat-init';
path : 'docs/tools/nbs-chat-init.md';
summary : 'Initialises any directory for NBS team operation by creating the tripod — bus, chat, scribe log — and optionally spawning agents.';
when_to_use : 'When bootstrapping a new project for multi-agent NBS team work.';
keywords : ('init'; 'bootstrap'; 'project'; 'setup'; 'tripod'; 'spawn');
);
(
kind : Tool;
name : 'nbs-chat-repair';
path : 'docs/tools/nbs-chat-repair.md';
summary : 'Detect and repair corrupt lines in nbs-chat files by blanking bad lines and appending salvaged content.';
when_to_use : 'When a chat file is corrupted or contains garbled lines that break parsing.';
keywords : ('chat'; 'repair'; 'corrupt'; 'recovery'; 'salvage'; 'fix');
);
(
kind : Tool;
name : 'nbs-chat-remote';
path : 'docs/tools/nbs-chat.md';
summary : 'SSH proxy for nbs-chat that routes chat commands to a remote host for cross-machine team communication.';
when_to_use : 'When agents on different machines need to share a chat file via SSH.';
keywords : ('chat'; 'remote'; 'ssh'; 'proxy'; 'cross-machine'; 'network');
);
(
kind : Tool;
name : 'nbs-claude';
path : 'docs/tools/nbs-claude.md';
summary : 'Launches Claude Code inside an nbs-ts session with a background sidecar that monitors for events, messages, and blocking dialogues.';
when_to_use : 'When spawning a Claude Code agent with integrated sidecar lifecycle management.';
keywords : ('claude'; 'launch'; 'sidecar'; 'session'; 'agent'; 'spawn');
);
(
kind : Tool;
name : 'nbs-doctor';
path : 'bin/nbs-doctor';
summary : 'Diagnose and repair the NBS environment — checks global installation, project structure, symlinks, and binaries.';
when_to_use : 'When NBS tools are misbehaving or after installation to verify environment health.';
keywords : ('diagnose'; 'repair'; 'health'; 'environment'; 'check'; 'fix');
);
(
kind : Tool;
name : 'nbs-hub';
path : 'docs/tools/nbs-hub.md';
summary : 'Deterministic process enforcement for AI teams — gates spawns, phase transitions, document registry, and decision logging.';
when_to_use : 'When running multi-agent teams that need spawn gating, phase gates, or shared document tracking.';
keywords : ('hub'; 'enforcement'; 'gate'; 'spawn'; 'phase'; 'registry'; 'process');
);
(
kind : Tool;
name : 'nbs-kick-agent';
path : 'bin/nbs-kick-agent';
summary : 'Level 4 hard restart of a single agent — kills session, cleans PID, resets cursor, respawns, and verifies.';
when_to_use : 'When an agent is unrecoverably stuck and graduated fixup levels 1-3 have failed.';
keywords : ('kick'; 'restart'; 'agent'; 'kill'; 'respawn'; 'recovery');
);
(
kind : Tool;
name : 'nbs-local-run';
path : 'docs/tools/nbs-remote.md';
summary : 'Run a command locally with the user full login environment — proxy credentials, SSH agent, authenticated remotes.';
when_to_use : 'When you need proxy access or SSH credentials the sandbox does not have, such as git push.';
keywords : ('local'; 'run'; 'credentials'; 'proxy'; 'environment'; 'push'; 'permissions');
);
(
kind : Tool;
name : 'nbs-oracle-reaper';
path : 'docs/tools/nbs-oracle-reaper.md';
summary : 'Stateless cleanup daemon that kills ephemeral oracle sessions after they post their results to chat.';
when_to_use : 'Called automatically by the sidecar — not invoked directly by agents.';
keywords : ('oracle'; 'reaper'; 'cleanup'; 'ephemeral'; 'kill'; 'stateless');
);
(
kind : Tool;
name : 'nbs-remote-build';
path : 'bin/nbs-remote-build';
summary : 'Run a build command on a remote nbs-ts session while polling for chat messages between checks.';
when_to_use : 'When building on a remote machine and you need to remain chat-responsive during the build.';
keywords : ('remote'; 'build'; 'poll'; 'chat-aware'; 'compile'; 'timeout');
);
(
kind : Tool;
name : 'nbs-remote-edit';
path : 'docs/tools/nbs-remote.md';
summary : 'Edit files on remote machines via scp with a pull-edit-push workflow and diff support.';
when_to_use : 'When you need to modify a file on a remote machine from within the sandbox.';
keywords : ('remote'; 'edit'; 'scp'; 'pull'; 'push'; 'diff');
);
(
kind : Tool;
name : 'nbs-remote-git';
path : 'docs/tools/nbs-remote-git.md';
summary : 'Synchronise git repositories between local and remote machines via SSH using nbs-ts-helper credentials.';
when_to_use : 'When you need to clone, push, pull, or sync git repos across machines.';
keywords : ('remote'; 'git'; 'sync'; 'clone'; 'push'; 'pull'; 'ssh');
);
(
kind : Tool;
name : 'nbs-remote-read';
path : 'docs/tools/nbs-remote.md';
summary : 'Read a file or filtered portion of a file on a remote machine via scp without staging.';
when_to_use : 'When you need to quickly inspect a remote file without the full pull-edit-push cycle.';
keywords : ('remote'; 'read'; 'inspect'; 'scp'; 'head'; 'tail'; 'grep');
);
(
kind : Tool;
name : 'nbs-remote-status';
path : 'bin/nbs-remote-status';
summary : 'Quick state check of a remote nbs-ts session — runs git status, git diff stat, and captures scrollback.';
when_to_use : 'When you need a fast overview of what is happening on a remote development session.';
keywords : ('remote'; 'status'; 'git'; 'scrollback'; 'check'; 'overview');
);
(
kind : Tool;
name : 'nbs-scribe-log';
path : 'docs/tools/nbs-scribe-log.md';
summary : 'Deterministic CLI for appending structured, timestamped decision entries to the scribe log with validation and bus events.';
when_to_use : 'When recording a decision, blocker, or risk to the project scribe log.';
keywords : ('scribe'; 'log'; 'decision'; 'timestamp'; 'append'; 'structured');
);
(
kind : Tool;
name : 'nbs-scribe-query';
path : 'bin/nbs-scribe-query';
summary : 'Search the scribe decision log by pattern, ID, handle, tag, or recency, including archived logs.';
when_to_use : 'When looking up past decisions, searching for context, or counting decision history.';
keywords : ('scribe'; 'query'; 'search'; 'decision'; 'history'; 'archive');
);
(
kind : Tool;
name : 'nbs-team-check';
path : 'docs/tools/tools.md';
summary : 'Report the health status of every agent in a running NBS team — session alive, chat active, context level.';
when_to_use : 'When diagnosing team health or checking which agents are alive and responsive.';
keywords : ('team'; 'health'; 'status'; 'check'; 'agent'; 'alive');
);
(
kind : Tool;
name : 'nbs-ts-grep';
path : 'docs/tools/nbs-ts-grep.md';
summary : 'Pattern search across one or all agent session logs with ANSI stripping and line-range filtering.';
when_to_use : 'When searching for specific output, errors, or patterns in agent terminal session logs.';
keywords : ('grep'; 'search'; 'session'; 'log'; 'ansi'; 'pattern');
);
(
kind : Tool;
name : 'nbs-ts-helper';
path : 'docs/tools/nbs-ts.md';
summary : 'Long-running daemon that allocates PTYs with the user login credentials for nbs-ts sessions via Unix socket fd passing.';
when_to_use : 'Must be running in the user terminal for any nbs-ts, nbs-remote, or nbs-claude operation.';
keywords : ('helper'; 'daemon'; 'pty'; 'credentials'; 'socket'; 'fd-passing');
);
(
kind : Tool;
name : 'nbs-ts-query';
path : 'docs/tools/nbs-ts-grep.md';
summary : 'Extract a range of lines from a single agent session log as clean, ANSI-stripped text.';
when_to_use : 'When you need to read a specific portion of an agent session log without pattern matching.';
keywords : ('query'; 'extract'; 'session'; 'log'; 'lines'; 'range');
);
(
kind : Tool;
name : 'nbs-ts-render';
path : 'docs/tools/nbs-ts-render.md';
summary : 'Virtual terminal renderer that processes raw PTY output through a headless terminal emulator and outputs plain UTF-8 text.';
when_to_use : 'When you need to see what a human would see on screen from raw terminal session output.';
keywords : ('render'; 'terminal'; 'vt100'; 'ansi'; 'screen'; 'emulator');
);
(
kind : Tool;
name : 'nbs-ts-sysctl';
path : 'docs/tools/nbs-ts-sysctl.md';
summary : 'Manages the nbs-ts-helper daemon as a systemd user service — install, start, stop, diagnostics, and removal.';
when_to_use : 'When setting up or managing the nbs-ts-helper systemd service for persistent PTY allocation.';
keywords : ('sysctl'; 'systemd'; 'service'; 'install'; 'daemon'; 'lifecycle');
);
(
kind : Tool;
name : 'nbs-workers';
path : 'docs/tools/nbs-workers.md';
summary : 'Higher-level worker lifecycle management with unique naming, persistent logging, and task file integration.';
when_to_use : 'When a supervisor needs to spawn, monitor, search, or kill Claude worker instances.';
keywords : ('workers'; 'spawn'; 'lifecycle'; 'logging'; 'task'; 'supervisor');
);
(
kind : Tool;
name : 'honest-get';
path : 'lib/honest/docs/cli-reference.md';
summary : 'Extract field values from an Honest document by variable name and field path.';
when_to_use : 'When you need to programmatically read specific fields from an Honest file.';
keywords : ('honest'; 'get'; 'extract'; 'field'; 'value'; 'query');
);
(
kind : Tool;
name : 'honest-parse';
path : 'lib/honest/docs/cli-reference.md';
summary : 'Parse and validate an Honest document, reporting diagnostics for any syntax or structure errors.';
when_to_use : 'When validating that an Honest file is syntactically correct before use.';
keywords : ('honest'; 'parse'; 'validate'; 'syntax'; 'check'; 'diagnostic');
);
(
kind : Tool;
name : 'honest-fmt';
path : 'lib/honest/docs/cli-reference.md';
summary : 'Reformat an Honest document into wire mode or human-readable document mode.';
when_to_use : 'When you need to normalise or pretty-print an Honest file.';
keywords : ('honest'; 'format'; 'wire'; 'document'; 'pretty-print'; 'normalise');
);
(
kind : Tool;
name : 'honest-build';
path : 'lib/honest/docs/cli-reference.md';
summary : 'Construct an Honest document from CLI key=value arguments with support for nested records and sequences.';
when_to_use : 'When programmatically generating Honest documents from shell scripts or automation.';
keywords : ('honest'; 'build'; 'construct'; 'generate'; 'cli'; 'key-value');
);
(
kind : Tool;
name : 'honest-extract';
path : 'lib/honest/docs/cli-reference.md';
summary : 'Extract the first valid Honest document embedded in mixed text such as markdown or chat logs.';
when_to_use : 'When an Honest document is embedded in a larger file and needs to be isolated for parsing.';
keywords : ('honest'; 'extract'; 'embedded'; 'mixed-text'; 'scan'; 'isolate');
);
(
kind : Tool;
name : 'nbs-claude-build-args';
path : 'bin/nbs-claude-build-args';
summary : 'Build the Claude CLI argument array from environment and caller flags, consuming nbs-specific options and passing the rest through.';
when_to_use : 'Called internally by nbs-claude — not invoked directly by agents.';
keywords : ('claude'; 'args'; 'model'; 'session'; 'passthrough'; 'build');
);
(
kind : Tool;
name : 'nbs-claude-remote';
path : 'bin/nbs-claude-remote';
summary : 'Launch Claude Code on a remote machine via SSH, creating a tmux session and attaching the local terminal.';
when_to_use : 'When you need to run a Claude Code agent on a remote machine where the project and .nbs/ directory live.';
keywords : ('claude'; 'remote'; 'ssh'; 'tmux'; 'launch'; 'attach');
);
(
kind : Tool;
name : 'nbs-digest-spawn';
path : 'bin/nbs-digest-spawn';
summary : 'Spawn an ephemeral worker to produce a structured digest of a chat file and post the summary to chat.';
when_to_use : 'When recovering agents after downtime and they need a briefing on what happened in the chat.';
keywords : ('digest'; 'chat'; 'summary'; 'spawn'; 'worker'; 'restart'; 'briefing');
);
(
kind : Tool;
name : 'nbs-launch-agent';
path : 'bin/nbs-launch-agent';
summary : 'Shared bash function that launches a single nbs-claude agent via setsid with correct environment scrubbing.';
when_to_use : 'When spawning agents — source this file and call launch_agent instead of invoking nbs-claude directly.';
keywords : ('launch'; 'agent'; 'spawn'; 'setsid'; 'function'; 'source');
);
(
kind : Tool;
name : 'nbs-local-session';
path : 'bin/nbs-local-session';
summary : 'Create a persistent local shell session via nbs-ts-helper with the user full login environment. Self-terminates after 1 hour of inactivity (configurable via NBS_SESSION_IDLE_TIMEOUT).';
when_to_use : 'When you need a local shell with full credentials for build commands, git operations, or proxy access.';
keywords : ('local'; 'session'; 'shell'; 'login'; 'credentials'; 'persistent'; 'idle'; 'timeout');
);
(
kind : Tool;
name : 'nbs-remote-diff';
path : 'bin/nbs-remote-diff';
summary : 'Pull git diff output from a remote nbs-ts session with optional chat posting and diffstat mode.';
when_to_use : 'When you need to see git changes on a remote machine without a full interactive session.';
keywords : ('remote'; 'diff'; 'git'; 'stat'; 'staged'; 'chat'; 'post');
);
(
kind : Tool;
name : 'nbs-remote-run';
path : 'bin/nbs-remote-run';
summary : 'Run a single command on a remote machine via an ephemeral SSH nbs-ts session and return the captured output.';
when_to_use : 'When you need to run one command on a remote host without managing a persistent session.';
keywords : ('remote'; 'run'; 'ssh'; 'ephemeral'; 'command'; 'capture');
);
(
kind : Tool;
name : 'nbs-remote-session';
path : 'bin/nbs-remote-session';
summary : 'Create a persistent SSH shell session on a remote machine and return a handle for use with nbs-ts commands. Self-terminates after 1 hour of inactivity (configurable via NBS_SESSION_IDLE_TIMEOUT).';
when_to_use : 'When you need a long-lived remote shell for multiple commands, builds, or interactive work.';
keywords : ('remote'; 'session'; 'ssh'; 'persistent'; 'handle'; 'shell'; 'idle'; 'timeout');
);
(
kind : Tool;
name : 'nbs-ssh-bridge';
path : 'docs/tools/nbs-ssh-bridge.md';
summary : 'Drop-in ssh/scp replacement that configures and reuses ControlMaster connections — first connection authenticates, subsequent connections piggyback without re-authentication.';
when_to_use : 'When making multiple SSH or SCP connections to the same host and want to avoid repeated authentication handshakes.';
keywords : ('ssh'; 'scp'; 'remote'; 'multiplexing'; 'ControlMaster'; 'connection'; 'authentication'; 'bridge');
);
(
kind : Tool;
name : 'nbs-sidecar-find-session';
path : 'bin/nbs-sidecar-find-session';
summary : 'Find an alive nbs-ts session by exact name — used by sidecar-loops for project-scoped session re-discovery after agent restarts.';
when_to_use : 'Called by sidecar-loop scripts — not invoked directly by agents.';
keywords : ('sidecar'; 'session'; 'find'; 'rediscovery'; 'restart'; 'loop');
);
(
kind : Tool;
name : 'nbs-scp-bridge';
path : 'docs/tools/nbs-ssh-bridge.md';
summary : 'SCP with connection multiplexing — symlink to nbs-ssh-bridge, detects invocation name and routes to scp.';
when_to_use : 'When transferring files via SCP and want to reuse an existing SSH master connection.';
keywords : ('scp'; 'ssh'; 'remote'; 'transfer'; 'multiplexing'; 'bridge');
);
(
kind : Tool;
name : 'nbs-file-browser';
path : 'src/nbs-file-browser/main.c';
summary : 'Full-screen TUI file browser with multi-column layout, syntax-highlighted viewing via bat, and markdown rendering via nbs-md-viewer.';
when_to_use : 'When browsing project files from the terminal or via /file in nbs-chat-terminal.';
keywords : ('file'; 'browser'; 'navigate'; 'directory'; 'bat'; 'syntax'; 'highlight'; 'TUI');
);
(
kind : Tool;
name : 'nbs-sidecar-restart';
path : 'bin/nbs-sidecar-restart';
summary : 'Hot-restart running sidecars to pick up new binaries, or respawn missing sidecars for active agent sessions. Kills sidecar-loops before sidecars to prevent respawn races.';
when_to_use : 'After rebuilding the sidecar binary, or when agents are deaf because their sidecar process died.';
keywords : ('sidecar'; 'restart'; 'respawn'; 'hot-restart'; 'binary'; 'upgrade'; 'dedup');
);
(
kind : Tool;
name : 'nbs-team-status';
path : 'docs/tools/nbs-team-status.md';
summary : 'Show every team process (sessions, sidecars, sidecar-loops) with duplicate and orphan detection.';
when_to_use : 'When diagnosing duplicate sidecars, orphan processes, or verifying clean process state after restart.';
keywords : ('team'; 'status'; 'process'; 'duplicate'; 'orphan'; 'sidecar'; 'diagnosis');
);
(
kind : Tool;
name : 'nbs-team-kill';
path : 'docs/tools/nbs-team-kill.md';
summary : 'Clean-slate kill of all team processes — sessions, sidecars, and sidecar-loops for a given tag.';
when_to_use : 'When you need to kill all team processes before a full restart, or to clear process leaks.';
keywords : ('team'; 'kill'; 'clean'; 'process'; 'restart'; 'leak'; 'slate');
);
(
kind : Tool;
name : 'nbs-chat-session-end';
path : 'bin/nbs-chat-session-end';
summary : 'Graceful team shutdown with countdown timer — posts session-end message, waits, then creates control-pause to suppress notifications and ephemeral triggers.';
when_to_use : 'When the supervisor has confirmed the terminal goal is complete and wants to pause the team gracefully. Cancellable during countdown via nbs-chat-resume.';
keywords : ('session-end'; 'pause'; 'shutdown'; 'countdown'; 'stasis'; 'idle'; 'graceful');
);
(
kind : Tool;
name : 'nbs-chat-resume';
path : 'bin/nbs-chat-resume';
summary : 'Cancel session-end countdown or resume from pause — deletes control-pause file and kills any active countdown timer.';
when_to_use : 'When resuming a paused team or cancelling a session-end countdown before it completes.';
keywords : ('resume'; 'unpause'; 'cancel'; 'session-end'; 'restart'; 'wake');
);
(
kind : Tool;
name : 'nbs-spawn-worker';
path : 'bin/nbs-spawn-worker';
summary : 'Spawn an ephemeral worker agent with a task file, skill content, and background monitor that kills the session on completion.';
when_to_use : 'When nbs-workers needs to launch an ephemeral Claude instance for a specific task with lifecycle management.';
keywords : ('spawn'; 'worker'; 'ephemeral'; 'task'; 'monitor'; 'lifecycle');
);
(
kind : Tool;
name : 'nbs-help (CLI)';
path : 'bin/nbs-help';
summary : 'Search the MANIFEST.honest by keyword, kind, or list all entries — the CLI counterpart to the nbs-help skill.';
when_to_use : 'When you need to find a tool, skill, or document by keyword from the command line.';
keywords : ('help'; 'search'; 'manifest'; 'lookup'; 'keyword'; 'list');
);
(
kind : Tool;
name : 'nbs-chat-terminal-restart.sh';
path : 'bin/nbs-chat-terminal-restart.sh';
summary : 'Auto-restart the NBS agent team via Level 4 cold restart when the terminal watchdog detects fewer than 3 agent sessions alive.';
when_to_use : 'Called automatically by the terminal watchdog — not invoked directly by agents.';
keywords : ('restart'; 'watchdog'; 'cold-restart'; 'terminal'; 'auto-restart'; 'team');
);
{ ============================================================= }
{ --- Skills --- }
{ ============================================================= }
(
kind : Skill;
name : 'nbs-testkeeper';
path : 'claude_tools/nbs-testkeeper.md';
summary : 'Test suite ownership — run tests, report results with evidence, challenge unverified claims.';
when_to_use : 'Loaded automatically for the testkeeper agent role.';
keywords : ('test'; 'testing'; 'verification'; 'benchmark'; 'coverage'; 'ABBA'; 'falsification');
);
(
kind : Skill;
name : 'nbs-theologian';
path : 'claude_tools/nbs-theologian.md';
summary : 'Architecture advisor — read code, map invariants, identify risks, review fixes.';
when_to_use : 'Loaded automatically for the theologian agent role.';
keywords : ('architecture'; 'review'; 'invariant'; 'risk'; 'design'; 'theory');
);
(
kind : Skill;
name : 'nbs-supervisor';
path : 'claude_tools/nbs-supervisor.md';
summary : 'Team coordination — delegate work, track progress, manage agent lifecycle.';
when_to_use : 'Loaded automatically for the supervisor agent role.';
keywords : ('supervisor'; 'coordinate'; 'delegate'; 'team'; 'manage'; 'lifecycle');
);
(
kind : Skill;
name : 'nbs-discovery';
path : 'claude_tools/nbs-discovery.md';
summary : 'Collaborative, read-only discovery of artefacts in projects lacking epistemic structure.';
when_to_use : 'When onboarding to a disordered project to understand its state before making changes.';
keywords : ('discovery'; 'read-only'; 'artefact'; 'epistemic'; 'onboarding'; 'report');
);
(
kind : Skill;
name : 'nbs-recovery';
path : 'claude_tools/nbs-recovery.md';
summary : 'Step-wise restructuring and consolidation of projects based on a prior discovery report.';
when_to_use : 'After running nbs-discovery, when ready to restructure and establish epistemic discipline.';
keywords : ('recovery'; 'restructure'; 'consolidate'; 'discipline'; 'action'; 'fix');
);
(
kind : Skill;
name : 'nbs-investigation';
path : 'claude_tools/nbs-investigation.md';
summary : 'Falsification-driven exploration of a specific hypothesis as an isolated side quest.';
when_to_use : 'When you have a specific hypothesis to test that is separate from main development work.';
keywords : ('investigation'; 'hypothesis'; 'falsification'; 'side-quest'; 'test'; 'explore');
);
(
kind : Skill;
name : 'nbs-review';
path : 'claude_tools/nbs.md';
summary : 'Systematic audit of reasoning quality, goal alignment, and falsification discipline across a project.';
when_to_use : 'When reviewing work for epistemic rigour — checks for investigations, terminal weathering, and drift.';
keywords : ('review'; 'audit'; 'reasoning'; 'alignment'; 'quality'; 'drift');
);
(
kind : Skill;
name : 'nbs-discovery-verify';
path : 'claude_tools/nbs-discovery-verify.md';
summary : 'Checkpoint verification that a discovery report is complete before proceeding to recovery.';
when_to_use : 'Immediately after completing nbs-discovery to verify the report captures everything discussed.';
keywords : ('discovery'; 'verify'; 'checkpoint'; 'completeness'; 'report'; 'check');
);
(
kind : Skill;
name : 'nbs-doc-plan';
path : 'claude_tools/nbs-doc-plan.md';
summary : 'Interactive planning for documents — clarify goals, audience, and structure before writing a single word.';
when_to_use : 'Before writing any significant document to prevent conception-phase failures.';
keywords : ('document'; 'plan'; 'audience'; 'structure'; 'goals'; 'conception');
);
(
kind : Skill;
name : 'nbs-doc-describe';
path : 'claude_tools/nbs-doc-describe.md';
summary : 'Interactive help describing systems, code, or concepts — find the right words through questioning.';
when_to_use : 'When you know what something is but need help articulating it clearly for a reader.';
keywords : ('describe'; 'document'; 'explain'; 'articulate'; 'system'; 'concept');
);
(
kind : Skill;
name : 'nbs-doc-analyse';
path : 'claude_tools/nbs-doc-analyse.md';
summary : 'Falsification-focused analysis of documents for hidden goals, rhetoric, and bullshit.';
when_to_use : 'When you need to expose the gap between stated goals and actual goals in a document or communication.';
keywords : ('analyse'; 'document'; 'rhetoric'; 'bullshit'; 'goals'; 'falsification');
);
(
kind : Skill;
name : 'nbs-doc-help';
path : 'claude_tools/nbs-doc-help.md';
summary : 'Interactive mentor-style guidance for the NBS document tools.';
when_to_use : 'When you need help choosing or using the nbs-doc-plan, nbs-doc-describe, or nbs-doc-analyse tools.';
keywords : ('document'; 'help'; 'guidance'; 'mentor'; 'tools'; 'interactive');
);
(
kind : Skill;
name : 'nbs-natural';
path : 'claude_tools/nbs-natural.md';
summary : 'Exit Precise Technical English mode and return to natural language communication.';
when_to_use : 'When PTE constraints are no longer needed and you want informal communication.';
keywords : ('natural'; 'language'; 'pte'; 'exit'; 'informal'; 'mode');
);
(
kind : Skill;
name : 'nbs-oracular-speech';
path : 'claude_tools/nbs-oracular-speech.md';
summary : 'Compressed insight mode using productive ambiguity and metaphor to force interpretation.';
when_to_use : 'When standard prose is too diffuse and you need dense, aphoristic expression.';
keywords : ('oracular'; 'speech'; 'metaphor'; 'compressed'; 'insight'; 'ambiguity');
);
(
kind : Skill;
name : 'nbs-bus (skill)';
path : 'claude_tools/nbs-bus.md';
summary : 'Event-driven coordination skill — publish events, check queues, and manage the bus from an agent context.';
when_to_use : 'When an agent needs to publish events, check pending work, or manage bus state.';
keywords : ('bus'; 'event'; 'publish'; 'queue'; 'coordination'; 'agent');
);
(
kind : Skill;
name : 'nbs-chat-digest';
path : 'claude_tools/nbs-chat-digest.md';
summary : 'Ephemeral agent that extracts structured learnings from chat files into persistent knowledge.';
when_to_use : 'When chat history needs to be distilled into structured, reusable learnings.';
keywords : ('chat'; 'digest'; 'learnings'; 'extract'; 'ephemeral'; 'knowledge');
);
(
kind : Skill;
name : 'nbs-teams-start';
path : 'claude_tools/nbs-teams-start.md';
summary : 'Cold start bootstrap — gather user intent, run nbs-chat-init, spawn and verify a full multi-agent team.';
when_to_use : 'When bootstrapping a new NBS team from scratch in a project with no existing .nbs/ structure.';
keywords : ('teams'; 'start'; 'bootstrap'; 'cold-start'; 'spawn'; 'init');
);
(
kind : Skill;
name : 'nbs-hub (skill)';
path : 'claude_tools/nbs-hub.md';
summary : 'Deterministic process enforcement skill — spawn gating, phase transitions, and decision logging for supervisors.';
when_to_use : 'When a supervisor needs to interact with the hub for teams work, spawn gating, or phase management.';
keywords : ('hub'; 'enforcement'; 'gate'; 'spawn'; 'phase'; 'supervisor');
);
(
kind : Skill;
name : 'nbs-init';
path : 'claude_tools/nbs-init.md';
summary : 'Configure a project CLAUDE.md to reference NBS engineering standards — idempotent and safe to repeat.';
when_to_use : 'When setting up a project to use NBS engineering standards for the first time.';
keywords : ('init'; 'configure'; 'CLAUDE.md'; 'standards'; 'project'; 'setup');
);
(
kind : Skill;
name : 'nbs-help';
path : 'claude_tools/nbs-help.md';
summary : 'Interactive mentor-style guidance for the NBS framework — ask, explain, check understanding.';
when_to_use : 'When you need help understanding any part of the NBS framework.';
keywords : ('help'; 'guidance'; 'mentor'; 'framework'; 'interactive'; 'explain');
);
(
kind : Skill;
name : 'nbs-poll';
path : 'claude_tools/nbs-poll.md';
summary : 'Check for pending bus events and unread chat messages — currently disabled but retained for reference.';
when_to_use : 'Currently disabled (NBS_POLL_INTERVAL=0) — sidecar notifications replaced polling.';
keywords : ('poll'; 'check'; 'messages'; 'events'; 'bus'; 'disabled');
);
(
kind : Skill;
name : 'nbs-teams-restart';
path : 'claude_tools/nbs-teams-restart.md';
summary : 'Partial recovery after downtime — triage all agents, assess before acting, recover in priority order.';
when_to_use : 'After overnight idle, crash, or network partition to recover a multi-agent team.';
keywords : ('teams'; 'restart'; 'recovery'; 'triage'; 'downtime'; 'partial');
);
(
kind : Skill;
name : 'nbs-remote-dev';
path : 'claude_tools/nbs-remote-dev.md';
summary : 'Remote development workflow patterns for editing, building, and debugging on remote machines from an AI agent.';
when_to_use : 'When doing sustained development work on a remote machine through nbs-ts sessions.';
keywords : ('remote'; 'development'; 'workflow'; 'build'; 'debug'; 'ssh');
);
(
kind : Skill;
name : 'nbs-gdb';
path : 'claude_tools/nbs-gdb.md';
summary : 'Falsification-focused GDB debugging via nbs-ts — hypothesis before commands, measurement not exploration.';
when_to_use : 'When debugging C/C++ programs and you need persistent GDB sessions with hypothesis discipline.';
keywords : ('gdb'; 'debug'; 'hypothesis'; 'falsification'; 'breakpoint'; 'persistent');
);
(
kind : Skill;
name : 'nbs-terminal-weathering';
path : 'claude_tools/nbs-terminal-weathering.md';
summary : 'Hypothesis-driven performance optimisation of Python systems through evidence-gated architectural intervention.';
when_to_use : 'When conducting performance optimisation work that requires profiling, benchmarking, and C extension writing.';
keywords : ('performance'; 'optimisation'; 'profiling'; 'benchmark'; 'c-extension'; 'hypothesis');
);
(
kind : Skill;
name : 'nbs-terminal-weathering-review';
path : 'claude_tools/nbs-terminal-weathering-review.md';
summary : 'Correctness review for terminal weathering sessions — applied in addition to the normal NBS review.';
when_to_use : 'When reviewing a branch or session that contains terminal weathering performance work.';
keywords : ('review'; 'weathering'; 'correctness'; 'performance'; 'check'; 'supplementary');
);
(
kind : Skill;
name : 'nbs-teams-fixup';
path : 'claude_tools/nbs-teams-fixup.md';
summary : 'Diagnose and restart stalled agents using a graduated escalation ladder from least to most destructive.';
when_to_use : 'When an agent is stalled and needs graduated recovery — context compaction check before hard restart.';
keywords : ('fixup'; 'stalled'; 'escalation'; 'restart'; 'diagnose'; 'recovery');
);
(
kind : Skill;
name : 'nbs-notify';
path : 'claude_tools/nbs-notify.md';
summary : 'Process pending events or messages injected by the sidecar notification system.';
when_to_use : 'Triggered automatically by sidecar when bus events or unread chat messages are detected.';
keywords : ('notify'; 'sidecar'; 'event'; 'message'; 'pending'; 'trigger');
);
(
kind : Skill;
name : 'nbs-audit';
path : 'claude_tools/nbs-audit.md';
summary : 'Full codebase audit against engineering standards with parallel sub-agents and adversarial TDD fix plans.';
when_to_use : 'When auditing an entire codebase for engineering standards violations and producing a fix plan.';
keywords : ('audit'; 'standards'; 'violations'; 'TDD'; 'parallel'; 'codebase');
);
(
kind : Skill;
name : 'nbs-scribe';
path : 'claude_tools/nbs-scribe.md';
summary : 'Institutional memory agent — observes conversations and distils decisions into a structured log that survives restarts.';
when_to_use : 'Loaded automatically for the scribe agent role in a multi-agent team.';
keywords : ('scribe'; 'memory'; 'decision'; 'log'; 'institutional'; 'distil');
);
(
kind : Skill;
name : 'nbs-medic';
path : 'claude_tools/nbs-medic.md';
summary : 'Meta-cognitive monitor that detects hallucinations, motivated reasoning, and epistemic decay — communicates only via warnings.';
when_to_use : 'Loaded automatically for the medic agent role — monitors reasoning quality silently.';
keywords : ('medic'; 'monitor'; 'hallucination'; 'reasoning'; 'epistemic'; 'warning');
);
(
kind : Skill;
name : 'nbs-gatekeeper';
path : 'claude_tools/nbs-gatekeeper.md';
summary : 'Pre-push commit review agent — reviews commits for correctness, consistency, and completeness before code reaches the remote.';
when_to_use : 'Loaded automatically for the gatekeeper agent role before any git push.';
keywords : ('gatekeeper'; 'review'; 'commit'; 'push'; 'correctness'; 'pre-push');
);
(
kind : Skill;
name : 'nbs-worker';
path : 'claude_tools/nbs-worker.md';
summary : 'Task execution role — execute a specific task with fresh context, report findings, and exit.';
when_to_use : 'Loaded automatically for worker agents spawned by a supervisor in a teams hierarchy.';
keywords : ('worker'; 'task'; 'execute'; 'report'; 'fresh-context'; 'role');
);
(
kind : Skill;
name : 'nbs-pythia';
path : 'claude_tools/nbs-pythia.md';
summary : 'Ephemeral oracle that reads the decision log, assesses trajectory and risk, posts a structured checkpoint, and exits.';
when_to_use : 'Spawned automatically at checkpoints to provide trajectory and risk assessment.';
keywords : ('pythia'; 'oracle'; 'trajectory'; 'risk'; 'checkpoint'; 'ephemeral');
);
(
kind : Skill;
name : 'nbs-librarian';
path : 'claude_tools/nbs-librarian.md';
summary : 'Ephemeral helper oracle that knows where the answers are, what tools exist, and what the team decided before.';
when_to_use : 'Spawned when agents are stuck or drifting from prior decisions and need institutional knowledge.';
keywords : ('librarian'; 'oracle'; 'knowledge'; 'helper'; 'decisions'; 'unstick');
);
(
kind : Skill;
name : 'nbs-pte';
path : 'claude_tools/nbs-pte.md';
summary : 'Activate Precise Technical English mode — constrained prose with RFC 2119 modals and Honest type definitions.';
when_to_use : 'When specifications require unambiguous language with explicit cardinality and condition-action structure.';
keywords : ('pte'; 'precise'; 'technical'; 'english'; 'unambiguous'; 'specification');
);
(
kind : Skill;
name : 'nbs-teams-help';
path : 'claude_tools/nbs-teams-help.md';
summary : 'Interactive mentor-style guidance for NBS teams usage and operations.';
when_to_use : 'When you need help understanding how to use NBS teams features.';
keywords : ('teams'; 'help'; 'guidance'; 'mentor'; 'interactive'; 'operations');
);
(
kind : Skill;
name : 'nbs-shepard';
path : 'claude_tools/nbs-shepard.md';
summary : 'Ephemeral team shepherd oracle that assesses team dynamics and posts actionable coordination recommendations.';
when_to_use : 'Spawned at checkpoints to evaluate how well the team is coordinating and suggest improvements.';
keywords : ('shepard'; 'oracle'; 'team'; 'dynamics'; 'coordination'; 'assessment');
);
(
kind : Skill;
name : 'nbs-fixup-auto';
path : 'claude_tools/nbs-fixup-auto.md';
summary : 'Ephemeral self-repair agent that diagnoses all seven permanent team agents, escalates through graduated levels, and posts a health summary.';
when_to_use : 'Triggered automatically by the sidecar to check and repair the team — not invoked manually.';
keywords : ('fixup'; 'self-repair'; 'health'; 'escalation'; 'restart'; 'diagnose'; 'ephemeral');
);
(
kind : Skill;
name : 'nbs-manifest-audit';
path : 'claude_tools/nbs-manifest-audit.md';
summary : 'Audit MANIFEST.honest against the filesystem for stale paths, missing entries, and summary quality issues.';
when_to_use : 'When maintaining the manifest to find missing tools, dead paths, or vague summaries.';
keywords : ('manifest'; 'audit'; 'stale'; 'missing'; 'quality'; 'honest'; 'validate');
);
(
kind : Skill;
name : 'nbs-teams-chat';
path : 'claude_tools/nbs-teams-chat.md';
summary : 'AI-to-AI chat protocol — how agents send, read, search, and receive notifications via nbs-chat in a multi-agent team.';
when_to_use : 'Loaded for every agent in a multi-agent team to establish chat communication patterns and rules.';
keywords : ('chat'; 'teams'; 'protocol'; 'notification'; 'mention'; 'send'; 'read');
);
(
kind : Skill;
name : 'nbs-cursor-diagnosis';
path : 'claude_tools/nbs-cursor-diagnosis.md';
summary : 'Diagnose and repair pathological cursor desync — check cursor state, sidecar health, and notification delivery path.';
when_to_use : 'When an agent stops receiving notifications, processes old messages, or the sidecar appears stuck.';
keywords : ('cursor'; 'desync'; 'diagnosis'; 'repair'; 'notification'; 'sidecar'; 'unread');
);
{ ============================================================= }
{ --- Documents and Concepts --- }
{ ============================================================= }
(
kind : Document;
name : 'C++ to C Patterns';
path : 'terminal-weathering/concepts/cpp-to-c-patterns.md';
summary : '19 conversion patterns for porting C++ code to pure C with risk levels and pitfalls.';
when_to_use : 'When converting C++ files to C — read before starting any conversion.';
keywords : ('c++'; 'c'; 'porting'; 'conversion'; 'template'; 'RAII'; 'enum class'; 'namespace');
);
(
kind : Document;
name : 'Terminal Weathering';
path : 'terminal-weathering/concepts/terminal-weathering.md';
summary : 'Hypothesis-driven performance optimisation methodology with evidence-gated architectural intervention.';
when_to_use : 'When planning or executing performance optimisation work on a codebase.';
keywords : ('performance'; 'optimisation'; 'hypothesis'; 'profiling'; 'benchmark'; 'architecture');
);
(
kind : Concept;
name : 'Goals';
path : 'concepts/goals.md';
summary : 'Terminal vs instrumental goals — the root distinction that prevents optimising the wrong thing.';
when_to_use : 'When setting project direction or when instrumental goals risk consuming all resources.';
keywords : ('goals'; 'terminal'; 'instrumental'; 'strategic'; 'tactical'; 'alignment');
);
(
kind : Concept;
name : 'Falsifiability';
path : 'concepts/falsifiability.md';
summary : 'The epistemological foundation — any claim worth making must articulate what would prove it wrong.';
when_to_use : 'When evaluating claims, writing tests, or challenging assertions that lack falsification criteria.';
keywords : ('falsifiability'; 'epistemology'; 'counterexample'; 'claim'; 'verification'; 'proof');
);
(
kind : Concept;
name : 'Rhetoric';
path : 'concepts/rhetoric.md';
summary : 'Ethos, Pathos, Logos in engineering — exposing the hidden emotional motivations behind logical arguments.';
when_to_use : 'When analysing why a technical decision is being pushed or when aesthetic preferences masquerade as logic.';
keywords : ('rhetoric'; 'ethos'; 'pathos'; 'logos'; 'persuasion'; 'motivation');
);
(
kind : Concept;
name : 'Bullshit Detection';
path : 'concepts/bullshit-detection.md';
summary : 'Identifying indifference to truth — the gap between sounding right and being right, especially in AI output.';
when_to_use : 'When evaluating AI output or human claims that optimise for plausibility over accuracy.';
keywords : ('bullshit'; 'detection'; 'truth'; 'plausibility'; 'RLHF'; 'indifference');
);
(
kind : Concept;
name : 'Engineering Standards';
path : 'concepts/engineering-standards.md';
summary : 'Verification-first engineering — safety from verbs not nouns, falsifiability as foundation, test the real system.';
when_to_use : 'When writing code, reviewing code, or auditing a codebase against NBS quality standards.';
keywords : ('standards'; 'verification'; 'assertions'; 'testing'; 'invariants'; 'quality');
);
(
kind : Concept;
name : 'Coordination';
path : 'concepts/coordination.md';
summary : 'How isolated AI agents coordinate via files, bus events, and sidecars without the ability to interrupt each other.';
when_to_use : 'When designing multi-agent workflows or debugging coordination failures between agents.';
keywords : ('coordination'; 'agents'; 'polling'; 'sidecar'; 'bus'; 'file-authority');
);
(
kind : Concept;
name : 'Precise Technical English';
path : 'concepts/pte.md';
summary : 'Constrained subset of English that eliminates ambiguity through RFC 2119 modals, explicit cardinality, and Honest types.';
when_to_use : 'When writing specifications that must be unambiguous — read before using PTE mode.';