docs: deep-clean pass — stale names, dead links, UI terminology, nav, orphaned images - #5282
Conversation
- good-practice.md: drop ancient 'T4' product name from role description - s3-bucket-organization.md: remove dead blog.quiltdata.com link (domain no longer serves); fix typo - Normalize Elasticsearch / CloudFormation / quilt3 spelling - Bucket tab -> Files tab (current catalog UI); Admin panel reached via left sidebar - Fix 4 dead docs.quilt.bio deep links by converting to relative links - s3-prefix-permissions.md: fix hide-Files-tab link that pointed at a nonexistent Admin.md anchor Co-authored-by: Cursor <cursoragent@cursor.com>
- README: untangle grammar in the three-component overview list - FAQ: answer the previously empty 'Do I have to log in via quilt3' section; fix 'collection [of] files'; Files view naming - Catalog/Installation: 'file discoveries' -> 'make discoveries' - walkthroughs: fix typos (package names, 'a one local registry', authenticate-against-it, commit message example) Co-authored-by: Cursor <cursoragent@cursor.com>
- Move product-wide FAQ and Troubleshooting from the Python SDK 'More' subsection to the top-level intro block - Move Metadata Management and Metadata Workflows from top level into the Quilt Platform section where they belong Co-authored-by: Cursor <cursoragent@cursor.com>
Each verified unreferenced by any file in the repo (including api-reference and catalog source). Mostly 2019-era catalog screenshots and CloudFormation console shots replaced by today's refresh; admin-dropdown.png orphaned by the Admin.md sidebar-UI fix. Co-authored-by: Cursor <cursoragent@cursor.com>
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## master #5282 +/- ##
=======================================
Coverage 34.92% 34.92%
=======================================
Files 741 741
Lines 23804 23804
Branches 6429 6429
=======================================
Hits 8314 8314
Misses 13746 13746
Partials 1744 1744
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
- Quickstart: PackageEntry.get() returns the physical-key URI, not file contents; example now shows get() vs get_as_string() honestly [quilt3/packages.py:274-278,310-317] - uploading-a-package: document the push top-hash conflict guard (QuiltConflictException), browse-then-push, force, dedupe [quilt3/packages.py:1655-1668,1455-1456]; edits made in the .ipynb source and .md regenerated via gendocs so test-gendocs stays green (also syncs the typo fixes from the previous commit into the notebooks) - installing-a-package: browse() with no registry reads the *local* registry, not the default remote [quilt3/backends/__init__.py:14-15] - authentication.md (hand-written, not autogenerated): key.email -> key.user_email, the actual APIKey field [quilt3/api_keys.py:25] - FAQ: manifest deletion API is quilt3.delete_package (not Package.delete); fix the R/CLI push example (--dir is the local dir, --registry is the registry) [quilt3/main.py:461-490]; note conflict guard + metadata reset caveats on the sync recipe - Troubleshooting: new QuiltConflictException section Co-authored-by: Cursor <cursoragent@cursor.com>
- tabulator: column-name regex is ^[A-Za-z][A-Za-z0-9_-]*$ max 255, not ^[a-z_][a-z0-9_]*$ [shared/schemas/tabulatorTable.yml.json:47-49] - Packaging: new Limits section (7 pkgpush error codes), workflow omitted/empty/named semantics, package-name regex [lambdas/pkgpush/__init__.py:62-73,447-455,646-656,788-795,895-911,976-986] - Metadata: drop S3 Select sizing guideline (service sunset; Quilt no longer calls it) - Preview: media list fixed (.tsv is tabular, .mp4 deduped, .m2ts added); bzip2 (.bz2) decompression documented [Preview loaders] - VisualizationDashboards: quilt_summarize types list completed with json, jupyter, vega [shared/schemas/quilt_summarize.json] - Preferences: document ui.actions.openInDesktop and ui.blocks.qurator [utils/BucketPreferences/BucketPreferences.ts:21,64,160,172] Co-authored-by: Cursor <cursoragent@cursor.com>
- Admin: new 'Beta and preview features' section — the global beta switch (gates Overview v2, bucket header card, Athena Tabulator panel; no ui.blocks key exists for Overview v2) and the three preview toggles (front-door, elasticsearch-queries, data-products) [catalog/app/utils/features.ts:30-46, Admin/Settings/Settings.tsx:395-442]; plus a Support Diagnostics paragraph - Search: new sections covering result types, bucket scope, the 7 package + 6 object system filters, typed user-metadata facets, the Include historical versions toggle, list/table views, sort presets, and the trailing-* query rewrite [containers/Search/model.ts:627-644,930-943, Search/Layout/PackageFilters.tsx:450-453] Co-authored-by: Cursor <cursoragent@cursor.com>
The module (9 public functions) was missing from gendocs/pydocmd.yml, so the generated Admin.md never included it. Added the module and regenerated via 'poe gendocs' (regeneration was contained: only this section changed; cli.md and walkthroughs byte-identical). Co-authored-by: Cursor <cursoragent@cursor.com>
… orphaned images (#5282) Co-authored-by: Simon Kohnstamm <kohnsts@gmail.com> Co-authored-by: Cursor <cursoragent@cursor.com>
| If your query contains none of the Elasticsearch special syntax below (field | ||
| selectors, wildcards, quotes, logical operators, grouping, fuzzy or negation | ||
| operators), the catalog automatically appends a trailing `*` so that plain | ||
| terms match as substrings. Queries that use any special syntax are passed | ||
| through unchanged. |
There was a problem hiding this comment.
This says queries containing logical or negation operators pass through unchanged. However, the search rewrite recognizes AND, OR, and -, but not NOT. A documented query such as NOT foo is therefore sent as NOT foo*, changing exact-term negation to prefix negation and potentially producing unexpected results. Please document this exception or include NOT in the rewrite guard.
| #### Views and sorting | ||
|
|
||
| Results display as a list or as a **table** with togglable columns and | ||
| per-column sorting. The sort dropdown offers: Best match, Most recent first, | ||
| Least recent first, A → Z, and Z → A. |
There was a problem hiding this comment.
This presents table view and per-column sorting as available for all search results, but the Catalog enables table view only for package results. Object searches always use the list, so please scope this paragraph to packages to avoid directing users toward an unavailable view.
Note: If this suggestion doesn't match your team's coding style, reply to this and let me know. I'll remember it for next time!
Deep-clean editing pass over
docs/(readability, correctness, consistency). No changes outsidedocs/. Follows up on today's screenshot refresh (#5281).What changed, by category
1. Stale product names and dead links (
bd0515e)advanced-features/good-practice.md: dropped the ancient "Quilt T4 Role" product name from theScripts.CreateAdminevent description (now "the Quilt role").advanced-features/s3-bucket-organization.md: removed the link toblog.quiltdata.com(DNS still resolves to Medium's IPs but all connections time out — the blog is gone); replaced with a plain lead-in to the existing data-lifecycle diagram. Also fixed the "on or more" typo.docs.quilt.biodeep links (GitBook changed its URL structure) by converting them to relative links:.quiltignoreand Voila and cross-account bucket-policy links inFAQ.md,Package.set_dirreference inTroubleshooting.md.advanced-features/s3-prefix-permissions.md: the "hide the Bucket tab" link pointed at a nonexistentAdmin.md#show-and-hide-features-in-the-quilt-cataloganchor; it now points atPreferences.md, where that heading actually lives.2. Terminology and UI-language consistency (
bd0515e)ElasticSearch/Elastic Search→ Elasticsearch (7 spots: Architecture, Qurator, Catalog Troubleshooting, Metadata, Catalog Installation, benchling example).Cloudformation→ CloudFormation (Catalog/Installation.md).Quilt3→ quilt3 when referring to the Python package (working-with-a-bucket.md).Catalog/Admin.md: the admin panel is now reached via the Admin entry in the left sidebar, not a navbar dropdown; removed the staleadmin-dropdown.pngscreenshot reference.3. Readability and typo fixes on high-traffic pages (
dd4b791)README.md: untangled the grammar of the three-component overview list (double "which is", "which provide extension of the core Quilt Capabilities").FAQ.md: the "Do I have to login via quilt3 to use the Quilt APIs?" section was completely empty — it now has a short answer pointing to the headless-credentials question below it; fixed "a collection files" → "a collection of files".Catalog/Installation.md: "find, understand, and file discoveries" → "make discoveries".4. SUMMARY.md nav cleanup (
749d3c5)5. Orphaned image cleanup (
eb8a221)Deleted 18 images verified unreferenced by any file in the whole repo (including
api-reference/and catalog source):active-directory.png,admin-bucket.png,admin-dropdown.png,athena-ui.png,buckets_dropdown.png,catalog_bucket_tab.png,catalog_homepage.png,catalog_packages_tab.png,catalog_search.png,create-stack.png,google_auth.png,okta-sso-general.png,params.jpg,quilt.gif,qurator-icon.png,skip.png,start.png,three-bucket-flow.png.Kept
certmgr-windows.png(used by api-reference) and the currently unreferenced but freshly capturedcatalog-filesbrowser-tab.png/catalog-home-search.pngfrom today's screenshot batch.Verification
npx --package=markdownlint-cli markdownlint .(exactly whatlint-docsruns): clean.uv run poe testdocsfromapi/python(exactly whattest-testdocsruns): 42 passed, 70 skipped. Allpytest.mark.skip/skipfilemarkers preserved.docs/**/*.md: all resolve.Flagged but NOT changed
technical-reference.mdstill listsT4BucketReadRole/T4BucketWriteRole— these look like real CloudFormation resource/logical names, so I left them; someone who knows the current template should confirm.Architecture.mdbaseline cost table ("$620/month", Elasticsearch $258.42, etc.) is likely stale but I can't verify current pricing.Catalog/Admin.md"Users can switch between assigned roles via the dropdown menu in the navbar" — left as-is (the switch-role screenshots still show this flow) but worth re-verifying against v26.8 UI.Catalog/Admin.md"Settings" section says custom links go "in the navbar" — may need re-wording for the sidebar UI, but the settings semantics are unclear to me so I didn't touch it.walkthrough/*.mdfiles are paired with.ipynbnotebooks; my typo fixes touched only the.mdside. If these are ever regenerated from the notebooks, the same typos should be fixed there.medium.comandprestodb.ioreturn 403 to curl (bot-blocking, pages load fine in a browser);legacy.quiltdata.comreturns 200 and stays.Correctness fixes from code audit (second batch)
A code-vs-docs audit produced a prioritized gap report; the high-confidence items were verified against
origin/masterand implemented (4 more commits).Broken / incorrect examples
PackageEntry.get()as if it returned file contents; it returns the physical-key URI (quilt3/packages.py:274). The example now showsget()(location) vsget_as_string()(contents), and executes in testdocs.QuiltConflictException,packages.py:1655-1668), the browse-then-push pattern, andforce/dedupe. Note: this and other walkthrough pages are generated from.ipynbbytest-gendocs; all walkthrough edits (including the batch-1 typo fixes, which had brokentest-gendocson this PR) are now made in the notebooks and the.mdregenerated viapoe gendocs.browse()with no registry argument reads the local registry, not the "default remote registry" the doc claimed (quilt3/backends/__init__.py:14-15).gendocs/pydocmd.yml):key.email→key.user_email×3 (quilt3/api_keys.py:25).quilt3.delete_package, notquilt3.Package.delete(which edits the in-memory package); the R/CLI example misusedpush --diras a registry path (it is the local directory; the registry is--registry); the notebook-sync recipe now warns about the conflict guard and aboutset_dir(".", ...)resetting package metadata.QuiltConflictExceptionsection.Enforcement rules and stale lists
^[A-Za-z][A-Za-z0-9_-]*$, max 255 (shared/schemas/tabulatorTable.yml.json:47-49) — the doc claimed^[a-z_][a-z0-9_]*$, which wrongly forbids uppercase/hyphens and wrongly allows a leading underscore.ManifestTooLarge,PackageTooLargeToCopy,TooManyFilesToCopy,PackageTooLargeToHash,TooManyFilesToHash,FileTooLargeForHashing,RequestTooLarge) and what triggers each (values are stack-configured env vars); documented the three-wayworkflowsemantics (omitted → default workflow applied,""→ none, name → that one) and the^[\w-]+/[\w-]+$package-name rule..tsvremoved — it renders as tabular; duplicate.mp4removed;.m2tsadded); bzip2 (.bz2) decompression documented alongside gzip.quilt_summarize.jsontypeslist completed withjson,jupyter,vega(schema enum has 9, doc listed 6).ui.actions.openInDesktop(QuiltSync button; hidden from the visual editor but works via YAML) andui.blocks.quratorkeys.New documentation
ui.blocks.overviewV2preference key) and the three Preview features toggles (New front door,ElasticSearch query console,Data products), percatalog/app/utils/features.ts; plus a short Support Diagnostics paragraph.*substring rewrite for plain queries.quilt3.admin.policies(9 public functions) added togendocs/pydocmd.ymlandapi-reference/Admin.mdregenerated. Regeneration was contained: only the policies section changed;cli.mdand walkthroughs byte-identical. (This is the one edit outsidedocs/.)CI
markdownlint,poe testdocs(42 passed / 70 skipped), andpoe gendocs-checkall pass locally. The earliertest-gendocsfailure on this PR (batch-1 typo fixes made in generated.mdonly) is fixed by moving those edits into the.ipynbsources.Flagged for maintainers (not changed)
sso-permissions.mdstore_last_login_context: the doc instructs setting this key but its own linked schema (shared/schemas/sso-config-1.0.json,additionalProperties: false) forbids it. Needs reconciling against the enterprise-side schema.technical-reference.mdPkgSelectLambdaRole(and possiblySearchHandlerRole): the pkgselect lambda no longer exists in the repo; KMS instructions likely stale, but confirming requires the deployment repo.materialization.md: still describes the pre-6.4 copy-everything push default; current default copies only cross-bucket entries (selector_fn). A rewrite needs product wording decisions.working-with-manifests.md: documents only the legacySHA256hash type; write default issha2-256-chunkedandCRC64NVMEis supported. Notebook-generated file; left for a dedicated pass.working-with-a-bucket.mdsearch section: stale prerequisite (navigator_urlalone doesn't setregistryUrl) and stale return shape; needs regenerated example outputs against a live catalog.front-doorpreview flag — worth documenting when that flag graduates.Greptile Summary
This PR performs a broad documentation cleanup and expands several behavior-focused reference sections.
NOTqueries are rewritten, and table view is package-only.Confidence Score: 4/5
The PR appears safe to merge after optional documentation corrections for the Search page’s query-rewrite and table-view descriptions.
The underlying code and interfaces are unchanged, and the reviewed documentation largely matches current behavior; the remaining findings are non-blocking documentation inaccuracies affecting
NOTqueries and object-result view expectations.Files Needing Attention: docs/Catalog/Search.md
Important Files Changed
Reviews (1): Last reviewed commit: "docs: add quilt3.admin.policies to the A..." | Re-trigger Greptile