Commits

100 commits · main · older page 3
MRMax Rakhimov · 2026-09-12 · 03c5ba509fde
A moved tip made the sync rewalk every commit on every branch, 2.4 s against 0.13 s per read on a 50,000-commit repository. The walk starts one minute before the newest cached commit once a sync has finalized, and the stale check reads the full live set with rev-list, so a
MRMax Rakhimov · 2026-09-12 · d084cd965fb1
git reads a bare --since date at the current clock time, so an incremental fetch dropped the commits made earlier today than the fetch itself, and the newest cached time only moves forward, so it never came back for them. GetCommits and the followed-repository --shallow-since
MRMax Rakhimov · 2026-09-12 · c3183089178b
SyncWorkspaceToCache in pm, review, release, social and memo was a third way into the cache beside the commit processors and the batch syncs, each duplicating its ProcessWorkspaceBatch with its own git log and tip gate. The in-memory gitmsg synced-tip cache goes with them; the
MRMax Rakhimov · 2026-09-12 · a9880f80af15
Every command that used a per-extension SyncWorkspaceToCache now calls client.SyncWorkspaceLocal, which is tip-gated over all refs and runs every extension's batch sync. The memo tier sweep keeps its own call for the personal and session repos.
MRMax Rakhimov · 2026-09-12 · 4c0a8625b109
The five extension nav.go files reached into tuicore, 14575 lines, for NavItem and NavRegistry alone. They now import library/tui/tuinav, 157 lines, so the documented layer exception names a small package. The view and card registries stay in tuicore; splitting its views comes
MRMax Rakhimov · 2026-09-12 · 86e053c1d004
Six lines a review checks in order, so "done" means the same thing to every branch: the bar followed, both tiers green, every client updated together, the guide and the reference updated, the design note process observed, and every ratchet moved toward its target or held.
MRMax Rakhimov · 2026-09-12 · c7d57a3a3f28
Three lines the quality plan asked for, so a new extension can read its cost from ARCHITECTURE.md and the order inside core is stated rather than discovered. The search asymmetry is recorded, not fixed.
MRMax Rakhimov · 2026-09-12 · f9f334c76785
Every file under documentation/ except README.md read in full and held to STYLE.md and to the code: register, truth, duplication and structure. Fifteen files changed; RELEASE.md, SIGNING.md, TUI-DIAGRAMS.md and the generated TUI-KEYS.md verified and left as they were.
MRMax Rakhimov · 2026-09-12 · ab1b6c797b95
The 12-line rule and the push example were read as a cap on the whole Long, and the M3 sweep cut the value lists, inline syntax and published lists that --help exists to show. The cap now covers prose paragraphs only, and the example is the push help as restored.
MRMax Rakhimov · 2026-09-12 · d37ed9c845cb
The page, index and markdown layers each opened with a design note and restated their state machines per function. Every comment is now a single line. The items and code index machines, the page-layer rules, the commits frontier guard and the markdown threat model moved to
MRMax Rakhimov · 2026-09-12 · 1752d3ef7f43
These files carried multi-paragraph rationale where STYLE.md asks for one line at the point of constraint. Every comment is now a single line, or gone where the code already says it. The ref CAS and fetch contracts, the sealing rules, the push-state marker and the local-odb walk
MRMax Rakhimov · 2026-09-12 · ea74f95e2696
The 12-line cap cut value lists, inline filter syntax, scopes, key tables and the list of what a push publishes, which is what --help is for. Each is back in its compact form, rationale still out, and the distinctions the shortened Short lines dropped now sit in a Long.
MRMax Rakhimov · 2026-09-12 · 2edfe95f38c7
The credentials set and personal sync help now use commas where they had em-dashes, which the style guide does not allow.
MRMax Rakhimov · 2026-09-12 · 7f5fc6a731ca
flag-help and short-long reach zero, and the help text drops eight em-dashes. The comment-block-go and emdash rows also pick up counts the baseline had been carrying stale.
MRMax Rakhimov · 2026-09-12 · 2c2bf707c0f6
Every Long now carries one paragraph of what the command does plus its examples. The remote resolution, the site keys and the thin-bucket rules live in S3.md and STATIC-SITE.md, and the search filters, scopes and group-by fields move to CLI.md.
MRMax Rakhimov · 2026-09-12 · 754a21a52e78
Flag help now says what the flag sets in one clause under 60 characters. Values and defaults stay in the sentence; the rules that rode along in parentheses move to documentation/CLI.md.
MRMax Rakhimov · 2026-09-12 · c4f102e79694
Every Short now names what the command does in one clause, with the parentheticals and trailing asides removed. What they carried is either already in the Long text or in documentation/CLI.md.
MRMax Rakhimov · 2026-09-11 · 6d2eeb2347a8
The layer diagram, the directory listing and the import-graph layer table named clientfetch and clientpush. The extension rules gain the line saying where a new extension joins the fetch.
MRMax Rakhimov · 2026-09-11 · 2288e84e5fae
The three thin clients composed the fetch by hand and had drifted: the CLI ran the review post-fetch hook and the memo tiers where the TUI and RPC did not, and a single-repository fetch carried social's processors alone, so pm, review, release and memo rows stayed missing for
MRMax Rakhimov · 2026-09-11 · 9615270f9458
The five extensions registered their workspace sync from init() into a package-level map in core/fetch, the only mutable state that package kept. Each extension now exposes SyncWorkspaceBatch, which resolves its own branch, and the caller passes the list it wants reached.
MRMax Rakhimov · 2026-09-11 · 3b28de90afce
Both files carried multi-paragraph rationale where STYLE.md asks for one line at the point of constraint. Every comment is now a single line, or gone where the code already says it. The reader's packfile lookup and the page-entry boot contract moved to
MRMax Rakhimov · 2026-09-11 · c6e11c09d159
The thresholds sit on the longest function and the highest complexity in the tree today. Nothing existing fails, anything bigger does, and a threshold only moves down.
MRMax Rakhimov · 2026-09-11 · 9278db0ac9a5
Each block becomes a one-line comment, a Reference bullet in REVIEW.md or MEMO.md, or nothing; the MergePR doc line moves off homeForkPR onto MergePR, and the DeferMaintenanceEnv contract now lives once, at the constant. clientpush sits above core because objstore imports
MRMax Rakhimov · 2026-09-11 · 89f8b157f99d
The layer rules and the two documented exceptions lived only in prose, so a new extension-to-tui import or a package growing past 15,000 non-test lines passed unnoticed. scripts/import-graph.sh --check is stage 1 of the gate: it fails on an upward edge missing from
MRMax Rakhimov · 2026-09-11 · d5471d8a1017
The only RepoInfo builder always sets a list, so FetchAll always took the followed path and its 30-day window default never applied. The window path stays reachable through FetchRepositoryRange, which passes its own dates. Removes Options.Since, Options.Before, the two flags on
MRMax Rakhimov · 2026-09-11 · a6ed0896f207
ProcessCommits and processAllBranchCommits now share one insert-and- dispatch body taking the branch as a function of the commit; the two filter calls stay apart, since they key differently. The full and incremental all-branch fetches become one call with an optional since.
MRMax Rakhimov · 2026-09-11 · 9c2fddab4492
One refspec fetch without a leading "+" creates missing gitmsg/* branches, fast-forwards the rest and refuses a diverged one, replacing three helpers that read and compared every ref by hand. The workspace tip gate drops its per-branch ReadRef loop: the two for-each-ref listings
MRMax Rakhimov · 2026-09-11 · d4455648b745
Each extension kept its own package-level sync.Map of the last synced tip, keyed the same way. One cache in core/gitmsg replaces them, next to the other per-workdir caches the code rules allow there.
MRMax Rakhimov · 2026-09-11 · 0dc70a666924
The package is two halves by file name: site_* renders the static site, the rest is the S3 transport. A later branch splits them into two packages, so every symbol moves to the file on its own side first.
MRMax Rakhimov · 2026-09-11 · c7c38d39eadc
MRMax Rakhimov · 2026-09-11 · e83ad7910bec
MRMax Rakhimov · 2026-09-11 · 21fa4b00ae4b
MRMax Rakhimov · 2026-09-11 · 36640fdcbd80
MRMax Rakhimov · 2026-09-11 · b838d276314b
MRMax Rakhimov · 2026-09-11 · d5d129366885
MRMax Rakhimov · 2026-09-11 · 1ffa588bd6c5
MRMax Rakhimov · 2026-09-11 · 6b8011acaffe
MRMax Rakhimov · 2026-09-11 · dc4edd1876e4
MRMax Rakhimov · 2026-09-10 · 5ceb1fcb6fde
MRMax Rakhimov · 2026-09-10 · 365fbdc80b4a
MRMax Rakhimov · 2026-09-10 · 9ef256163d55
MRMax Rakhimov · 2026-09-09 · afd1f721f956
MRMax Rakhimov · 2026-09-09 · 2d0395942e8b
MRMax Rakhimov · 2026-09-08 · ad666bdc3e4c
List pages head with the nav label, verbatim, in both renderers, from one table pinned by a parity fixture; the lowercase directory name was a heading the app never showed. The front page drops the title heading the app never rendered, so the README no longer moves at boot; the
MRMax Rakhimov · 2026-09-08 · 6d84ff167b9b
MRMax Rakhimov · 2026-09-08 · 3ba726253086
The file-page suites expected a page for notes.txt, but a .txt file is not a document by the selection rule and the fixture set no override, so the layer correctly published nothing. The fixture now includes it through filesInclude, and the sitemap assertion follows the word
MRMax Rakhimov · 2026-09-08 · 70fcbcf52358
MRMax Rakhimov · 2026-09-07 · 72a2244027e0
A public bucket grants GetObject but not ListBucket, and a clone needs no credentials to read one. With no key pair for the endpoint host the client is now anonymous: unsigned, read-only, and a push refuses with the credentials message before it uploads anything. A 403 on a read
MRMax Rakhimov · 2026-09-07 · 59405aedb3dd
Each doc opens with one sentence, then its section links, then the first section. Guides come before reference tables, rationale is gone (git history keeps it), and there are no em-dashes. Stale facts fixed on the way: TUI jump keys, PM label values, import defaults, the tui
MRMax Rakhimov · 2026-09-06 · bc20fcf8d6e1
A style rule nobody checks regresses within weeks, so prose-check.sh counts the STYLE.md violations and fails when a count rises above the committed baseline. The full suite cost every push four minutes, so the hook now runs the quick tier; the matrices run under
MRMax Rakhimov · 2026-09-06 · c1bf1dcd8fbe
MRMax Rakhimov · 2026-09-06 · 8efa842ab63c
MRMax Rakhimov · 2026-09-06 · 772f3c4f3eb6
A sitemap URL that gets refused spends crawl budget and lowers the indexed ratio, so retracted items and empty type lists are no longer submitted, and a tombstone carries noindex,follow.
MRMax Rakhimov · 2026-09-06 · 5539bf5178cd
MRMax Rakhimov · 2026-09-05 · 3ac9b463edbe
MRMax Rakhimov · 2026-09-04 · 4ac19acfc167
MRMax Rakhimov · 2026-09-04 · 285c5cd556d2
MRMax Rakhimov · 2026-09-04 · 1d949dcd1d5b
MRMax Rakhimov · 2026-09-03 · 811229427c22
MRMax Rakhimov · 2026-09-03 · 160b1671d214
MRMax Rakhimov · 2026-09-02 · bf19306de221
MRMax Rakhimov · 2026-09-02 · 2ef11af041c2
MRMax Rakhimov · 2026-09-02 · 434b60d065d9
MRMax Rakhimov · 2026-09-02 · 6a3e478ee807
MRMax Rakhimov · 2026-09-02 · 47bac91f6d01
MRMax Rakhimov · 2026-09-02 · f4124e8feee7
MRMax Rakhimov · 2026-09-01 · 9bd5949032cf
MRMax Rakhimov · 2026-09-01 · 9627f244b341
MRMax Rakhimov · 2026-09-01 · e0cfaf799679
MRMax Rakhimov · 2026-09-01 · bcf30d9a40d3
MRMax Rakhimov · 2026-09-01 · be95fbf7fe81
MRMax Rakhimov · 2026-09-01 · 60cb77319987
MRMax Rakhimov · 2026-08-31 · e69cd1ea22ff
MRMax Rakhimov · 2026-08-31 · 3fd7239f8047
MRMax Rakhimov · 2026-08-30 · e183a60e59c0
MRMax Rakhimov · 2026-08-30 · 2c106d108a94
MRMax Rakhimov · 2026-08-28 · 6094e832e5c5
MRMax Rakhimov · 2026-08-28 · c034d35856a1
MRMax Rakhimov · 2026-08-28 · efc0a259ea5b
MRMax Rakhimov · 2026-08-28 · f4142d200835
Pushes exclude a verified upstream frontier but never the gitmsg branches; fetches overlay the upstream once per session to resolve missing objects; local-odb objects from real transports count as present so the fetch walk stops at them; and a thin bucket publishes no ref
MRMax Rakhimov · 2026-08-16 · 356b8e45b7ae
MRMax Rakhimov · 2026-08-16 · fde03615aa60
MRMax Rakhimov · 2026-08-16 · c284ae930994
MRMax Rakhimov · 2026-08-16 · c949603a916d
MRMax Rakhimov · 2026-08-15 · 95e2d21e9945
MRMax Rakhimov · 2026-08-15 · ffe4cab8f0d3
MRMax Rakhimov · 2026-08-15 · 65c9a34f6c04
MRMax Rakhimov · 2026-08-15 · 5b1b9829aa53
Breaking renames, no aliases (pre-1.0): site push -> push --site-only; push --all -> --all-branches; site put -> remote put; gitsocial site group removed; memo personal push/fetch -> personal sync; memo session push/fetch -> memo session sync <id>; release artifacts add ->
MRMax Rakhimov · 2026-08-15 · c7468feeec7c
MRMax Rakhimov · 2026-08-15 · 5d3c07c1f471
MRMax Rakhimov · 2026-08-15 · 16f5d0828ee0
MRMax Rakhimov · 2026-08-15 · 38e164c194a5
MRMax Rakhimov · 2026-08-15 · ad83fb319ed2
MRMax Rakhimov · 2026-08-14 · 682729d0f0da
- Resilient bucket reads (429/stall retry) - Failure-isolated config view - Honest lazy fork loading - Index-driven tag/compare/merge-base - Metadata-first parallel search - Windowed pack reads with per-slice idx offsets - Parallel index lanes - Lazy README images
MRMax Rakhimov · 2026-08-13 · 63a6fe8619de
MRMax Rakhimov · 2026-08-13 · dd5e7d4ba1bd
MRMax Rakhimov · 2026-08-12 · 64b415dfbfb1
MRMax Rakhimov · 2026-08-12 · 1cad40783468
MRMax Rakhimov · 2026-08-12 · 540ee7272234
The static pages now project the same views the app renders. The front page is a projection of the home view (branch strip, root tree, README, Recent activity) instead of the retired timeline body, resolved from the bucket tip rather than a local ref; the README is pre-rendered
MRMax Rakhimov · 2026-08-07 · 9579affc9dd8