Mercurial
annotate wiki/README.md @ 280:49e9e591c9bb
Add persistent dictation, prewarmed WebRTC speech input, Copilot SDK routing, animated conversation lifecycle controls, parking, and architecture coverage.
| author | MrJuneJune <me@mrjunejune.com> |
|---|---|
| date | Tue, 18 Aug 2026 19:14:53 -0700 |
| parents | b3b547563ec7 |
| children |
| rev | line source |
|---|---|
|
279
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
1 --- |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
2 title: Zenbu repository wiki |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
3 status: canonical |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
4 audience: |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
5 - humans |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
6 - AI agents |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
7 last_reviewed: 2026-08-17 |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
8 --- |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
9 |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
10 # Zenbu repository wiki |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
11 |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
12 This page is the monorepo knowledge router. It explains what Zenbu contains and |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
13 directs humans and agents to the smallest canonical documentation set needed |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
14 for a task. |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
15 |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
16 ## Reading protocol |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
17 |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
18 ```text |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
19 repository index -> relevant project wiki -> BUILD graph -> source and tests |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
20 ``` |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
21 |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
22 Do not scan every project document by default. Choose documentation from the |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
23 routing table below. For cross-project work, inspect Bazel dependencies first, |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
24 then read only the wikis owned by actual producers and consumers. |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
25 |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
26 ## Documentation routing |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
27 |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
28 | Task paths or topic | Canonical documentation | |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
29 | --- | --- | |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
30 | `connectors/`, Google OAuth, Drive, Gmail, AI context tools | [`connectors/wiki/README.md`](../connectors/wiki/README.md) | |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
31 | `design_system/`, shared components, tokens, HTML authoring | [`design_system/wiki/README.md`](../design_system/wiki/README.md) | |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
32 | `seobeo/`, HTTP, TLS, servers, clients, SSE, WebSockets | [`seobeo/README.md`](../seobeo/README.md), then only the relevant page in [`seobeo/docs/`](../seobeo/docs/) | |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
33 | `mrjunejune/`, personal site, auth UI, conversations, media | [`mrjunejune/README.md`](../mrjunejune/README.md) | |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
34 | `hg-web/`, Mercurial repository browser | [`hg-web/README.md`](../hg-web/README.md) | |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
35 | `dowa/`, arenas, strings, arrays, hash maps, math | [`dowa/README.md`](../dowa/README.md) | |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
36 | `deita/`, SQLite wrapper | [`deita/README.md`](../deita/README.md) | |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
37 | `s3/`, presigned uploads | Source header and `BUILD`; no dedicated wiki yet | |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
38 | `markdown_converter/` | Package `BUILD`, public headers, and tests | |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
39 | `gui_ze/`, asset bundling macros | [`gui_ze/wiki/README.md`](../gui_ze/wiki/README.md) | |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
40 | Experiments and standalone prototypes | The package README when present, then its `BUILD` | |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
41 |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
42 ## Monorepo map |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
43 |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
44 ### Shared foundations |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
45 |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
46 - `dowa`: core C types, arena allocation, strings, dynamic arrays/hash maps, |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
47 and math. |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
48 - `deita`: SQLite connection, prepared query, and result-set wrapper. |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
49 - `seobeo`: networking, HTTP client/server, TLS, SSE, and WebSockets. |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
50 - `auth`: Zenbu users, sessions, cryptography, and reusable HTTP auth. |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
51 - `config`: Bazel platform configuration. |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
52 |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
53 ### Services and applications |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
54 |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
55 - `connectors`: Google data connector service and AI tool boundary. |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
56 - `mrjunejune`: personal website and production server. |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
57 - `hg-web`: Mercurial repository browser. |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
58 - `npc`: MCP-oriented C server experiment. |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
59 - `dictation`, `schwab_trader`, `infinite_canvas`, and other package roots: |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
60 focused applications or prototypes. |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
61 |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
62 ### Web and asset systems |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
63 |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
64 - `design_system`: shared light-DOM Web Components and design tokens. |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
65 - `gui_ze`: Bazel macros for asset copying, bundling, and transformations. |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
66 - `assets`: shared icons and other reusable assets. |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
67 - `markdown_converter`: C/WASM markdown conversion. |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
68 - `rich_editor` and `react_games`: browser bundles consumed by applications. |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
69 |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
70 ## Build and workflow |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
71 |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
72 Zenbu is a Mercurial repository. Use: |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
73 |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
74 ```sh |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
75 hg status |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
76 hg diff |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
77 ``` |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
78 |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
79 ### Bazel-only rule |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
80 |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
81 Zenbu is Bazel-only. Bazel is not just the C build tool; it is the repository's |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
82 execution and dependency boundary. |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
83 |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
84 Use Bazel for: |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
85 |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
86 - C/C++ libraries, binaries, and tests; |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
87 - shell and Python entry points; |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
88 - Node/Bun-driven frontend generation; |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
89 - WASM compilation; |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
90 - asset copying, image conversion, and bundles; |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
91 - downloaded tools, browser runtimes, and model runtimes; |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
92 - integration and end-to-end tests. |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
93 |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
94 Do not add or rely on: |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
95 |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
96 - Makefiles or direct `make` workflows; |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
97 - CMake project files; |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
98 - manual `cc`, `clang`, or `gcc` build commands; |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
99 - `npm run`, `bun run`, or `pip install` as the normal repository interface; |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
100 - undocumented system packages or `/usr/local` libraries; |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
101 - scripts that bypass Bazel runfiles and declared `data`. |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
102 |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
103 An upstream ecosystem command may run inside a Bazel rule or a narrowly scoped |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
104 maintenance workflow, but the committed user/agent interface must be a Bazel |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
105 target. |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
106 |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
107 Build and test from the repository root: |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
108 |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
109 ```sh |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
110 bazel build //seobeo:seobeo |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
111 bazel test //seobeo/tests:seobeo_http_framing_test |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
112 |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
113 bazel build //mrjunejune:mrjunejune_server |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
114 bazel test //mrjunejune/test:integration_test |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
115 |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
116 bazel build //connectors:connector_server |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
117 bazel test //connectors:connector_tests |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
118 |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
119 bazel build //hg-web:hg_web_server |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
120 ``` |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
121 |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
122 Inspect a package's `BUILD` file before broad searches. Keep dependencies on the |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
123 smallest target that needs them. |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
124 |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
125 ## Package selection guide |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
126 |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
127 Choose an existing first-party package before writing a new helper or directly |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
128 depending on third-party code. |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
129 |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
130 | Need | Use | Typical Bazel label | Do not substitute by default | |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
131 | --- | --- | --- | --- | |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
132 | Integer aliases, booleans, arenas, strings, arrays, hash maps, JSON helpers, math | `dowa` | `//dowa:dowa` | libc allocation scattered through request code, a second containers library | |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
133 | SQLite connections and prepared queries | `deita` | `//deita:deita` | direct `sqlite3_*` calls in application packages | |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
134 | TCP/TLS primitives without HTTP | `seobeo_min` | `//seobeo:seobeo_min` | raw sockets/OpenSSL setup duplicated in applications | |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
135 | HTTP server without WebSockets | `seobeo_tcp_server` | `//seobeo:seobeo_tcp_server` | another embedded HTTP server | |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
136 | HTTP server with WebSockets | `seobeo_tcp_server_ws` | `//seobeo:seobeo_tcp_server_ws` | direct WebSocket framing | |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
137 | Outbound HTTP/TLS only | `seobeo_tcp_client` or compatibility alias `seobeo_client` | `//seobeo:seobeo_tcp_client` | libcurl subprocesses or hand-built HTTP clients | |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
138 | Full HTTP/TLS/WebSocket stack | `seobeo` | `//seobeo:seobeo` | depending on every network source manually | |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
139 | Verbose Seobeo diagnostics | `seobeo_debug` | `//seobeo:seobeo_debug` | permanent `printf` debugging | |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
140 | User, password, session, cookie, CSRF, and auth crypto | `auth` | `//auth:auth`, `//auth:auth_http` | creating another login/session store | |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
141 | Google OAuth, Drive, Gmail, encrypted provider credentials, AI connector tools | `connectors` | `//connectors:connector_core`, `//connectors:connector_service_lib` | provider token logic inside unrelated applications | |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
142 | S3 signing and presigned uploads | `s3` | `//s3:s3` | ad-hoc AWS signature code | |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
143 | Native and WASM markdown conversion | `markdown_converter` | `//markdown_converter:markdown_to_html_c`, `//markdown_converter:markdown_to_html_wasm` | a second markdown pipeline | |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
144 | Shared Web Components, tokens, and UI primitives | `design_system` | package targets in `//design_system` | application-local copies of shared controls | |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
145 | Shared icons and generated image assets | `assets` | `//assets:icons` | copying asset files between applications | |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
146 | Web asset moves, bundles, WebP conversion, Bun actions, macOS bundles | `gui_ze` macros | `//gui_ze:gui_ze.bzl` | custom copy scripts and undeclared output folders | |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
147 | Shared rich text editor browser bundle | `rich_editor` | package targets in `//rich_editor` | forking editor code into an app | |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
148 | Personal site server and its production bundle | `mrjunejune` | `//mrjunejune:mrjunejune_server` | treating site-specific code as a generic library | |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
149 | Mercurial browser service | `hg-web` | `//hg-web:hg_web_server` | shelling out from unrelated UI code without its API boundary | |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
150 | MCP-style C HTTP server experiment | `npc` | `//npc:npc` | assuming it is a general connector framework | |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
151 | Raylib application rules | `third_party/raylib` macro plus first-party app package | `//third_party/raylib:raylib.bzl` | manual platform linker flags | |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
152 | Qwen/llama.cpp runtime orchestration | `qwen3_vl` | `//qwen3_vl:model`, `//qwen3_vl:serve` | untracked local model commands | |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
153 |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
154 ### Package boundary rules |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
155 |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
156 - Put reusable behavior in the narrowest shared package that owns the concept. |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
157 - Applications may compose libraries; libraries must not depend on applications. |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
158 - Avoid circular ownership such as `dowa` knowing about Seobeo or a site. |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
159 - Expose public headers through the owning library target. |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
160 - Add deps to the smallest target that compiles the source using them. |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
161 - Use platform-aware aliases already provided by packages such as Seobeo and S3. |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
162 - Search for an existing helper or macro before creating a sibling implementation. |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
163 |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
164 ## Third-party dependency policy |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
165 |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
166 Third-party code enters Zenbu through one of two Bazel-controlled paths: |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
167 |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
168 1. A pinned Bzlmod dependency or repository rule in `MODULE.bazel`. |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
169 2. A vendored wrapper under `third_party/<name>/BUILD`. |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
170 |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
171 Applications should depend on public Bazel labels, not include vendored source |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
172 paths or reproduce platform flags. |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
173 |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
174 ### Prefer first-party wrappers |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
175 |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
176 - Use Deita instead of direct SQLite APIs unless changing Deita itself. |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
177 - Use Seobeo instead of raw sockets, OpenSSL transport code, or curl processes. |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
178 - Use the S3 package instead of implementing AWS signing in an application. |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
179 - Use `gui_ze` macros instead of manual generated-asset copying. |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
180 - Use `markdown_converter` rather than adding another markdown dependency. |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
181 - Use `auth` for Zenbu identity; external OAuth credentials belong in |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
182 `connectors`, not a parallel user system. |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
183 |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
184 ### Adding an external dependency |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
185 |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
186 Before adding one: |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
187 |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
188 1. Search first-party packages and existing `third_party/` wrappers. |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
189 2. Confirm the behavior cannot be implemented safely with an existing library. |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
190 3. Add the dependency through `MODULE.bazel` when Bzlmod support is suitable; |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
191 otherwise add a focused `third_party/<name>/BUILD` wrapper. |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
192 4. Pin versions and SHA-256 hashes for downloaded archives/files. |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
193 5. Preserve license files and upstream notices. |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
194 6. Expose only the smallest useful Bazel target and visibility. |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
195 7. Keep platform selection inside the wrapper, not every consumer. |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
196 8. Add or update lockfiles when the ecosystem requires them. |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
197 9. Document why the dependency exists and which first-party package owns its |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
198 abstraction boundary. |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
199 |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
200 Do not fetch executable code at ordinary runtime when it can be a declared |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
201 Bazel dependency or data artifact. |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
202 |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
203 ### Existing external systems |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
204 |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
205 | External system | Bazel integration and intended use | |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
206 | --- | --- | |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
207 | OpenSSL | Bzlmod `@openssl`; TLS and crypto, normally behind Seobeo/auth/connectors | |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
208 | SQLite | `//third_party/sqlite3`; normally consumed through Deita | |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
209 | Emscripten | `@emsdk` local override; WASM targets such as markdown conversion | |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
210 | Node/npm | rules_nodejs and aspect_rules_js; locked frontend/test dependencies | |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
211 | Python/pip | rules_python toolchain and package-specific locked hubs | |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
212 | Bun | pinned platform archives and `gui_ze` actions | |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
213 | Chromium/Playwright | pinned browser runtime for browser and integration tests | |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
214 | Tectonic | pinned runtime for LaTeX rendering | |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
215 | FFmpeg | `//third_party/ffmpeg` wrapper for media processing | |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
216 | Raylib | `//third_party/raylib` plus `raylib_binary` for native/web applications | |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
217 | libuv | `//third_party/libuv` for event-loop experiments such as Postdog | |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
218 | LuaJIT | `//third_party/luajit` for packages that explicitly declare it | |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
219 | Mercurial | wheel/runtime wrappers for hg-web tooling | |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
220 | CEF | repository rule under `third_party/cef` for the infinite-canvas native surface | |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
221 | llama.cpp/CUDA runtime | pinned archives exposed through `qwen3_vl` Bazel targets | |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
222 |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
223 ## First-party conventions |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
224 |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
225 - Prefer Dowa integer and boolean aliases plus `TRUE`/`FALSE`. |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
226 - Allocation is arena-first. New first-party C code must not call raw |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
227 `malloc`, `calloc`, `realloc`, or `free`. |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
228 - Create a `Dowa_Arena` at the owner boundary, pass it into helpers, and use |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
229 `Dowa_Arena_Allocate`, arena string helpers, and the `_Arena` array/hash-map |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
230 macros. |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
231 - Free each locally owned arena exactly once with `Dowa_Arena_Free` on every |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
232 return path. Never individually free an arena-owned pointer. |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
233 - Borrowed request arenas are never freed by callees. |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
234 - Long-lived objects should own an arena whose lifetime matches the object. |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
235 A non-arena allocation is permitted only at a true allocator/runtime or |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
236 external-API ownership boundary, must be narrowly documented, and must use |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
237 the matching first-party/external destructor. It is not a convenience escape |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
238 hatch. |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
239 - Use Seobeo logging and response-map conventions in Seobeo services. |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
240 - Keep runtime secrets in one ignored, documented service config file. |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
241 - Commit placeholder templates only; do not commit real credentials. |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
242 - Preserve platform-aware Bazel aliases and precise dependencies. |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
243 |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
244 ### Arena enforcement |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
245 |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
246 Run: |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
247 |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
248 ```sh |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
249 bazel test //:arena_policy_test |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
250 ``` |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
251 |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
252 The policy target fails when: |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
253 |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
254 - a new first-party C/H file introduces raw allocation calls; or |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
255 - a legacy file increases its reviewed raw-allocation baseline. |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
256 |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
257 The baseline is technical debt, not permission to add more allocation in those |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
258 files. Changes should reduce it. Updating the baseline upward requires an |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
259 explicitly documented allocator/runtime boundary and review. |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
260 |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
261 Typical ownership: |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
262 |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
263 ```c |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
264 Dowa_Arena *p_arena = Dowa_Arena_Create(64 * 1024); |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
265 if (!p_arena) |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
266 return FALSE; |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
267 |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
268 char *copy = Dowa_Arena_Allocate(p_arena, length + 1); |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
269 if (!copy) |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
270 { |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
271 Dowa_Arena_Free(p_arena); |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
272 return FALSE; |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
273 } |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
274 |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
275 /* All arena-owned values die together. */ |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
276 Dowa_Arena_Free(p_arena); |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
277 ``` |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
278 |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
279 ## Wiki model |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
280 |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
281 The repository index is the schema and router. Project wikis are synthesized, |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
282 canonical knowledge for a bounded domain. Source code, `BUILD` files, tests, |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
283 and committed config templates are evidence. |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
284 |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
285 When a task changes knowledge: |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
286 |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
287 1. Update the owning project wiki. |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
288 2. Update this routing page only if ownership, package boundaries, or canonical |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
289 documentation locations changed. |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
290 3. Do not create one-off top-level notes or duplicate normative instructions. |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
291 4. Split a project wiki only when its index becomes hard to navigate; every new |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
292 page must be linked from the project wiki. |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
293 |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
294 ## Current wiki coverage |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
295 |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
296 | Domain | State | |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
297 | --- | --- | |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
298 | Repository map and agent routing | Canonical | |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
299 | Connectors and AI retrieval | Canonical | |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
300 | Design system | Canonical multi-page wiki | |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
301 | Seobeo | README plus focused protocol docs | |
|
b3b547563ec7
Add Google connector service and agent wiki
MrJuneJune <me@mrjunejune.com>
parents:
diff
changeset
|
302 | Other packages | Existing README or source-first; promote to a wiki when the domain accumulates durable operational knowledge | |