Kitecraft docs

Article results

Connect an exact published revision to comparable saved observations and an editorial decision.

Open an article and choose Review article results, or call article_outcomes with the confirmed project id and itemId. The CLI is kitecraft calendar outcomes --id PROJECT_UUID --item ITEM_UUID. HTTP uses GET /api/v1/calendar/:id/outcomes?itemId=ITEM_UUID.

This read makes no provider call and consumes no brief or evaluation allowance. It preserves the article, its independent review and owner approval. It does not rewrite, publish or enable collection. A planned date, finished draft or approval is insufficient: results start from the retained publication receipt's canonical URL, CMS identity/revision, article/package hashes and actual publication timestamp. Live updates keep the original publication date and need the actual applied-revision timestamp in receipt.appliedAt; missing that timestamp disables update comparisons. A native contract can map it with appliedAtPointer.

Native destination receipts identify authenticated Kitecraft readback. Receipts reported by a customer agent keep that provenance. Neither label alone proves a reader or business outcome.

Compare useful observations

Search Console page data and Google-organic GA4 landing data use 28 days before and 28 days after publication, excluding publication day in each source's timezone. The report requires complete saved windows, matching property and request scope, exact page identity and non-overlapping dimension grain. GA4 includes hostname for new landing captures; older path-only records cannot distinguish the same path on different domains.

Missing days or page rows remain unknown, never fabricated zeros. Truncation, sampling, thresholding, incomplete captures and freshness limits disable comparisons. GA4 uses a minimum settling interval and may still revise data. Key-event counts require retained configuration; the owner must confirm what the action measures and whether it matters. A new article often has no measured baseline, which stays unavailable.

The response includes saved run/snapshot identities and limitations. Date filters read retained history; they do not fetch missing history. A separately authorized google_extract can collect an eligible source window. Search Console API coverage and privacy limits still apply. The results view never joins unrelated query clicks to GA4 conversions or implies revenue from a key event.

AI observations count captured verified answers citing the exact article URL. A comparison requires matching question identities, revisions, text, locale, confirmed country, surface and provider model, with equal samples before and after. Failed, pending and unverified observations remain visible. This is a comparison of captured cohorts, not the entire AI audience or proof that publishing caused a change.

Make an editorial decision

Review the observations alongside the article's reader purpose and intended business action. Keep it, revise a specific weakness or stop investing in it for a stated reason. Retain the decision and evidence as an article metadata file so another agent can understand it. Low traffic alone does not establish that the article is useless, and a traffic increase alone does not establish commercial value.

The first outcome pilot should identify what shipped, who it was useful for, the owner's actual review time, what remains unknown and the next concrete decision. A local fixture or unpublished writing exercise does not establish growth.

Provider references: Search Console query contract, GA4 reporting expectations.

Selected search history without Google

Open an article's Results tab. Add a query and a page on your website, choosing a supported Google market, language and device. The current choices cover the United States, United Kingdom, Australia, Portugal and Spain, with English, Portuguese and Spanish. Saving this selection is free. Changing scope or the target page creates a separate history, so unlike observations are never compared as a trend.

Collect selected rankings is an explicit paid provider operation, using a separate bounded allowance. Opening a page, logging in or reading saved results never starts collection. The server must have SEARCH_RANKS_ENABLED=true, DataForSEO credentials and the existing QStash delivery configuration. Collection is disabled by default; saving a selection does not activate a recurring schedule.

The table shows exact-URL organic position within the collected depth, original scope and collection time. History retains a different page from your own domain when it appears instead, returned organic count, result features, provider task identity and reported cost. Not found in the collected results is not a fabricated position just outside the range. Failed, pending or unknown responses are unavailable, not a lost rank or zero visits.

Use Review next month when you deliberately choose the next work. Save continue, revise or stop with your reason, the next useful action, optional supporting observations and an existing next assignment. Stop applies to future expansion. It never cancels, rewrites or reschedules a committed draft. An explicitly requested later planning operation can use these decisions alongside retained work and current evidence. No model call, new research, schedule or publication starts when saving a review.

External rankings are separate from Search Console impressions/clicks/average position, Google-organic Analytics visits/configured events, and Bright Data answer/citation observations. A ranking change alone does not establish that an article caused it. Before-and-after article outcome comparisons still require the retained publication identity and compatible evidence windows.

For agents, use results_read, results_track, results_collect and results_review. The equivalent CLI commands are kitecraft results read|track|collect|review --id PROJECT_ID --json '{...}'. HTTP uses /api/v1/results/:id, /targets, /collect and /reviews. requestId is required for collection and review. Replaying the same request returns its saved result without buying it again, including after a subscription expires. Unknown provider work must be inspected, not retried with a new identifier.

If collection is interrupted or delivery expires, its saved run becomes unavailable after the recovery window. Known costs and unknown outcomes retain their reservation. The old run is never automatically purchased again. An explicit later collection is a separate observation, so inspect the saved receipts first.

A failed review form preserves your entered text and request identity. Correct the displayed problem and submit the same form. The initial saved evidence is rendered on the server and remains readable without JavaScript.

On this page