linksTestFixtures/node_modules/foo/package.json is hand-written input for
the `node module resolving` and `node module subfolder resolving` tests in
links.test.ts, which is why the fixture directory carries its own
`!/node_modules`. Without it both fail to find any link.
Co-authored-by: Hanzo Dev <[email protected]>
One family. Font stacks name Zen and fall back to the native faces, tokens
name the role rather than a face, and the packages that used to supply a
face now point at @hanzo/font.
Self-hosted @font-face blocks are removed rather than renamed: rewriting the
family in one would leave a src pointing at a file this repo no longer ships.
@hanzo/font carries the binaries and declares the faces, so the local copies
go with the declaration that used them.
Comments naming a face we no longer use are deleted, not reworded.
This repo is written on git.hanzo.ai and mirrored to github.com, and the two had drifted apart — 1 commits here the mirror lacked, 2 there this host lacked. Merging rather than overwriting so neither side's work is lost.
The LICENSE here retains the upstream copyright, which is what Apache-2.0 §4(c)
asks for, but nothing in the tree said what the work was derived from. A reader
had to infer it from a copyright line. This names it.
It ran an LLM over GitHub issues every six hours and pushed the result into the
fork's GitHub wiki. Both ends are GitHub's — the issue list and the .wiki.git
remote — and neither has an address here. .github/scripts/issue_triage.py goes
with it; the workflow was its only caller.
The gate that matters is already declared in hanzo.yml and runs through
.hanzo/workflows/cicd.yml.
100 of the last 100 runs failed. It fires every six hours, so it has been
producing four red runs a day for as long as the history goes back, and it is
the only workflow in this repo — so the repo's CI signal has been pure noise.
It cannot work here, for a reason that is not in the file. It needs
secrets.OPENAI_API_KEY and secrets.WIKI_TOKEN, and this org is on the GitHub Free
plan, where ORG-scoped secrets reach no repository at all — not even public ones.
The API accepts `gh secret set --org` and lists them as visibility ALL, so they
look present and arrive empty. Nothing errors; the step just gets "".
Two standing rules also say it should not exist in this shape:
- `runs-on: ubuntu-latest` puts the job on GitHub's builders. Ours run on the
git.hanzo.ai fleet.
- it pip-installs `openai` and calls that API. We have our own AI stack.
Deleting rather than repairing, because repairing means writing it twice: once
onto our runners and once onto our own models, which is not a fix to this file
but a new job. If issue triage is wanted, it belongs in .hanzo/workflows against
our stack, and it should be written as that.
The script goes with it; nothing else referenced it.
contrib/void is gone; the three files that still sent readers there now say
contrib/code. The .voidrules filename stays as it is — convertToLLMMessageService
reads that exact name off disk.
Co-authored-by: Hanzo Dev <[email protected]>
The rebrand renamed platform/void and contrib/void/browser to code; upstream then
moved platform/void into contrib/void/{common,electron-main}. Git could not see
those as the same move, so the merge kept both sides and the contribution came out
split across three directories — browser/ under contrib/code, common/ and
electron-main/ under contrib/void, a pre-move copy under platform/code. Every
../common/x.js import out of browser/ dangled. Shared-file conflicts were settled
by replacing upstream's lines instead of keeping both, so extHost.protocol lost
MainThreadChatStatus and ExtHostMcp and telemetryService lost the body of _log.
The fork's only change to src/ is that rename, so the tree it should have is
upstream's with the rename applied. This is that tree. What upstream deleted goes
with it: inlineDiffsService and the InlineDiff extension host API.
buildreact joins the gate because react/out is generated rather than committed and
the workbench imports its mount functions from there — the order HOW_TO_CONTRIBUTE
already gives. compile alone reported 281 errors; ci, buildreact and compile
together finish with 0.
Co-authored-by: Hanzo Dev <[email protected]>
`npm ci` refused with EUSAGE — "can only install packages when your package.json
and package-lock.json are in sync" — naming fs-extra (lock 11.2.0 vs 11.4.0) and
gulp-vinyl-zip (2.1.2 vs 2.5.0). Two dependencies were bumped without the lock
being regenerated, so the gate could not install anything and the build stopped
before it compiled a line.
Regenerated in the tree, not in isolation: resolution here needs this repo's own
.npmrc (legacy-peer-deps, electron disturl) because package.json pins a
TypeScript nightly that [email protected]'s peer range rejects. Generated without
it, npm resolves a different graph — or empties the file.
Verified with the gate's own check: `npm ci --dry-run --ignore-scripts` exits 0
and reports 1919 packages, where before it exited 1 with EUSAGE. Lockfile only,
2003 entries, 892K -> 932K.
Co-authored-by: Hanzo Dev <[email protected]>
github.com has no runner for hanzo-build-linux-amd64, so a caller under
.github/workflows is a gate that can never be scheduled. This is the ~7-line
caller on the plane that can (git.hanzo.ai git-runner fleet), pinned @v1.
Co-authored-by: Hanzo Dev <[email protected]>
Superseded: the Hanzo GitHub App pushes a webhook, so the forge tracks GitHub
without a per-repo workflow. This file called git.hanzo.ai/api/v1/.../mirror-sync
— a Gitea API for a system we no longer drive — and would sit inert in every repo.
One mechanism, in one place, instead of ~350 copies of a cron.
git.hanzo.ai mirrors this repo by PULL on a ~10-minute interval, and arcd runs
CI/CD there — so every push waited out that interval before anything built.
This asks Gitea to pull HEAD immediately.
Latency only: the repo already mirrors via the App webhook, so a missing
HANZO_GIT_TOKEN or a failed curl is non-fatal and never fails the push.
Idempotent (mirror-sync just pulls HEAD) and concurrency-coalesced.