changelog

{data.name} Sami Fouad made a commit to samifouad/cqx

publish datasets with a cache policy

They went up with a content type and nothing else. A dataset names its commit and describes nothing else — it is true forever — and browsers were falling back to heuristic freshness on it, re-downloading 48KB every visitor already had. Cloudflare declined to hold it at the edge at all: cf-cache-status was DYNAMIC on every object in the bucket.

Immutable for the datasets, a minute and a revalidation for the index, which is the one file that changes.

Verified
+16 -1
Sep 20

{data.name} Sami Fouad made a commit to dekaruntime/deka

publish datasets with a cache policy

They went up with a content type and nothing else. A dataset names its commit and describes nothing else — it is true forever — and browsers were falling back to heuristic freshness on it, re-downloading 48KB every visitor already had. Cloudflare declined to hold it at the edge at all: cf-cache-status was DYNAMIC on every object in the bucket.

Immutable for the datasets, a minute and a revalidation for the index, which is the one file that changes.

Verified
+16 -1
Sep 20

{data.name} Sami Fouad made a commit to samifouad/cqx

export this repository to the explorer

cqx.yml scores a pull request, which needs no credentials and publishes nothing. This is the half that was missing: a push to main gets exported, so that cqx.bio/samifouad/cqx opens on a dataset that already exists.

Without it the page still worked, which is why nobody noticed — it read the repository from GitHub and ran the analysis in the reader's browser, on every visit. Three seconds here. Eleven on tokio. A dataset names its commit and describes nothing else, so it is written once and cached forever.

The first step says plainly when there is nowhere to publish to, rather than failing four steps later with an AWS error that names no cause. A repository without bucket credentials is not broken — it is unpublished, and the reader's browser already handles that.

Verified
+143 -0
Sep 20

{data.name} Sami Fouad made a commit to samifouad/cqx

Update README.md

Verified
+10 -2
Sep 19

{data.name} Sami Fouad made a commit to samifouad/cqx

Add files via upload

Verified
+0 -0
Sep 19

{data.name} Sami Fouad made a commit to samifouad/cqx

0.1.22: the graph engine ships, and answers in a table

cqx query has worked for four releases and been switched off in every binary anybody could download. CI built it with --features zega to prove it compiled and the release built it without, so --zql and --named were refused everywhere they mattered. They are on now; it costs about 1.2 MB.

And the answer is readable. It printed Row { fields: {...} } — Rust's derived Debug over a HashMap, so the columns came out in a different order every run and a reader had to hunt for the field they asked for. It is a table now, in the order the RETURN clause named, because the clause's own text is exactly what the engine keyed the map by. --json gives the same rows as data.

Long cells are cut at forty-four characters and the first forty rows are shown, because past that a terminal is not the tool.

Verified
+182 -16
Sep 19

{data.name} Sami Fouad made a commit to dekaruntime/deka

Merge pull request #1169 from dekaruntime/claude/cqx-action

cqx as an action, and an installer instead of a filename

Verified
+24 -71
Sep 19

{data.name} Sami Fouad made a commit to dekaruntime/dsc

Merge pull request #304 from dekaruntime/claude/cqx-action

cqx as an action, and an installer instead of a filename

Verified
+25 -71
Sep 19

{data.name} Sami Fouad made a commit to samifouad/cqx

0.1.21: say which files were read

Code scanning showed "no summary of scanned files reported by cqx", which reads as a tool that did not look rather than one that found nothing there. SARIF has a place for it and we were leaving it empty.

The run now lists every path the scan read as an analysisTarget — 58 of them for cqx itself, against 24 results.

Verified
+30 -13
Sep 19

{data.name} Sami Fouad made a commit to samifouad/cqx

0.1.20: what the run cost, in the report

The terminal has always printed "58 files · 7,802 lines · 0.1s" and the report carried only the line count, so anything drawing from the JSON could not say the same sentence — the card on a pull request was reduced to a line count and a ref.

The report now carries scan: files, lines, milliseconds, and the version that produced it.

Verified
+21 -11
Sep 19