Skip to content

Commit a2fb3e7

Browse files
si1verwind17claude
andcommitted
A generic job is one wildcard relation per direction even when every table is known; feedback.md is gitignored only once a map exists
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
1 parent 35f08a8 commit a2fb3e7

4 files changed

Lines changed: 9 additions & 3 deletions

File tree

‎skills/visualizing-codebases/CHANGES.md‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ Bump `RULES_VERSION` in `scripts/vizcode/__init__.py` with each new section; pru
55

66
## Rules 5 — 2026-10-21
77
- Job triggers (SKILL.md § Deployables, not folders): a job that triggers a job of its own service is a `batch` relation too, from the calling job's method to the target task method, keyed `task <name>`; turn a `problems` entry that records such a trigger into that relation.
8+
- Generic jobs (SKILL.md § Matching interactions): a job whose tables come from its inputs is one relation per direction with a wildcard key and the concrete tables in `tables`, also when every caller passes literal tables; merge relations written one per table into that one.
89

910
## Rules 4 — 2026-10-21
1011
- Route keys (SKILL.md § Stack): a path parameter is written `{name}` whatever the framework writes around it (`{id:int}`, `{id?}`, `{*id}`, `:id(\d+)` → `{id}`), and a route's path already holds the prefix of a mount in its own file that the scanner joined (`composed onto N routes` in `summary.md`): rewrite `request` keys and example keys that spell a route otherwise.

‎skills/visualizing-codebases/SKILL.md‎

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -373,7 +373,10 @@ schedule and tasks, each Flyte workflow's launch plan schedule and every
373373
- A generic job whose tables come from inputs (one replication task, many
374374
tables) is one relation with a wildcard key (`table sales.*`); list in
375375
`tables` the concrete tables its callers pass in (literal arguments, or
376-
variables set right before the call) or that configs name.
376+
variables set right before the call) or that configs name. This holds when
377+
every table is known: a caller passing three literal tables still gets one
378+
read and one write, each with a wildcard key and those three in `tables`,
379+
never a relation per table.
377380
- `data` says which way data moves: `forward` (from → to), `back` (to → from)
378381
or `both`. Kinds default (db-read `back`, the rest `forward`); a `stream`
379382
has no default and must be set: a subscription the service opens is `back`.

‎skills/visualizing-codebases/feedback.md‎

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,4 +56,5 @@ Nothing is posted by you: the last step opens GitHub's new-issue form, filled in
5656
to step 3. Tell the user the form is open, filled in, and that nothing is posted until they press Submit; they
5757
can still edit it there or close the tab. If no browser opened, give them the link it printed.
5858

59-
`OUT/feedback.md` is a working file, already gitignored.
59+
`OUT/feedback.md` is a working file, never committed. The `.gitignore` that `assemble.py` writes keeps it out of git;
60+
before the first `assemble.py` there is none, so do not tell the user git ignores it.

‎tests/map/test_rules.py‎

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -161,7 +161,8 @@ def test_rules_two_to_five_follow_the_baseline():
161161
assert parsed[4][1].startswith("Route handlers (SKILL.md step 5)")
162162
assert parsed[4][2].startswith("Deployables (SKILL.md § Deployables, not folders)")
163163
assert parsed[4][3].startswith("Queues in a store or a job system")
164-
assert len(parsed[5]) == 1 and parsed[5][0].startswith("Job triggers (SKILL.md")
164+
assert len(parsed[5]) == 2 and parsed[5][0].startswith("Job triggers (SKILL.md")
165+
assert parsed[5][1].startswith("Generic jobs (SKILL.md § Matching interactions)")
165166

166167

167168
def test_a_map_at_rules_one_gets_the_queue_recheck(shop_repo):

0 commit comments

Comments
 (0)