What WikiMint reads from your code, by language
WikiMint reads source code and writes documentation from what the code states. It reads more of some languages than others, and this page says exactly how much, so nothing on a generated page has to be taken on trust. Every row was checked against the harvester source, not against a description of it.
- reads it The harvester for this language looks for this and reports what it finds.
- not read Nothing looks for this in this language yet. The field comes back empty rather than guessed, so a generated page never implies it was checked.
- not a thing here The language has no such concept, so there is nothing to find. Reporting it as a gap would invent a shortcoming.
| What it reads | PowerShell | Python | Go | C# | Java | COBOL |
|---|---|---|---|---|---|---|
| What the declarations say | ||||||
| Each parameter, its declared type, and whether it is required | reads it | reads it | reads it | reads it | reads it | reads it |
| The declared return or output type | reads it | reads it | reads it | reads it | reads it | reads it |
| The names this unit calls, spelled the way the code spells them | reads it | reads it | reads it | reads it | reads it | reads it |
| Whether it is written as an advanced function | reads it | not a thing here | not a thing here | not a thing here | not a thing here | not a thing here |
| Whether it supports WhatIf and Confirm | reads it | not a thing here | not a thing here | not a thing here | not a thing here | not a thing here |
| What the statements do | ||||||
| Which files it reads | not read | reads it | not read | not read | not read | reads it |
| Which files it writes | not read | reads it | not read | not read | not read | reads it |
| Which files it only ever appends to, which is how an audit trail is told from a rewrite | not read | reads it | not read | not read | not read | reads it |
| Which SQL commands it issues | not read | reads it | not read | not read | not read | reads it |
| Whether it reads data, changes data, or touches none | not read | reads it | not read | not read | not read | reads it |
| Calls whose target is chosen while the program runs, so the target is not in the source | not read | reads it | not read | not read | not read | reads it |
| Which of its calls stay inside the file and which leave it | not read | reads it | not read | not read | not read | reads it |
| A count of each kind of statement in the body | not read | reads it | not read | not read | not read | reads it |
| CICS commands | not a thing here | not a thing here | not a thing here | not a thing here | not a thing here | reads it |
// Every state above was checked against the harvester source, not against a description of it. Pinned at d144bde948.
Each tab on a generated page is built from the facts above. Where a language gives less, the tab says less rather than filling the space.
| Part of the page | PowerShell, Go, C#, Java | COBOL and Python |
|---|---|---|
| Parameter table | Every declared parameter, with type and whether it is required | The same |
| Practitioner tab | The description and any examples, as written | The same |
| Learner tab | The description in plain terms | The same |
| Dependencies tab | Required parameters and the names it calls | The same, and it separates calls that stay in the file from calls that leave it, and flags any target chosen while the program runs |
| Software Approval tab | A risk reading taken from the command's name | A risk reading from the name, raised to Destructive when the statements actually change data, plus a line saying what it reads and writes |
| Manager and Compliance tabs | Never produced | Never produced |
- A unit with no documentation and no readable facts gets one honest line saying so. It does not get invented prose.
- A class or type with no parameters, no return type and no calls is reported as unreadable rather than described. That is why a plain data holder produces no tabs.
- A file path assembled while the program runs is left out of the file lists. Naming it as read would be a guess, and naming it as written would be a different guess.
- A SQL statement built from variables is left out, because its first word is not in the source.
- The Manager and Compliance tabs exist in the data shape and are never filled. No language produces them.
- The per-language harvesters are in
harvesters/, one directory each, plus two that run in-process inWikiMint/Services/. - The fields themselves, and the rule that an empty list differs from nothing-looked, are defined in
WikiMint/Models/CommandRecord.cs. - Which tab consumes which fact is in
WikiMint/Services/VoiceRenderer.cs. The risk escalation rule is one line: statements raise the posture and never lower it. - The Python statement reading is covered by tests in
harvesters/python/test_harvest.py, including one that fails if an empty list is ever returned as nothing-looked. - The Python row was checked twice: against tests, and against the running service on 2026-10-31. One function holding a SELECT and an UPDATE came back reporting both, with its data access given as writes, and its risk line naming statements as part of what the judgement rested on. The same request against the previous release returned nothing for all nine statement facts.