Subchapter 48.3
references/deployed-artifacts.mdMarkdown8 KBView on GitHub
A question about what a system currently does is answered only by the artifact that governs runtime. Anything else (the newest stored version, a draft, a tag, a description field, a parameter spec, or your own paraphrase of the code’s query) is a . Proxies are allowed as leads, never as evidence.
claim <- artifact (identifier, version, timestamp).| Proxy you reached first | Why it is not evidence | Artifact to read instead |
|---|---|---|
| Latest hosted or stored configuration version | Creating a version does not deploy it; deployment is a separate step per environment | The environment’s deployment history: the ConfigurationVersion of the most recent COMPLETE deployment, or the configuration actually served to clients |
Repository HEAD, $LATEST or branch code | Clients may invoke a published version or alias that points elsewhere | The package attached to the version or alias actually invoked |
| Source template in a repository | The running stack may differ | The template the stack is running (GetTemplate on the stack) |
| Description, tag, label, schema field, card or wiring definition | Descriptive unless something enforces it | The implementing code that reads and acts on the value |
| Your own rewritten query (“status = X”) | Narrower or wider than the code’s predicate; a different order and limit change the “first result” and the counts | The code’s exact filter set, sort direction and limit |
| One failed data route plus an empty log search | Absence of evidence from one route is not evidence of absence | Other routes (below), or label the claim as unverified |
IN set, every additional predicate
(tenant, date range, soft-delete flags), the ORDER BY column and direction, and the LIMIT or
page size.Try these, roughly in order, and record what each returned:
If all fail, mark each dependent conclusion UNVERIFIED with the routes tried. Do not turn “I could not see it” into “it is silently failing”.
Live behaviour (read from <artifact + identifier>): ...
Staged / pending / undeployed (read from <artifact>): ... <- NOT live
Parameter semantics (read from implementing code at <path/function>): ...
Query reproduced verbatim from <file:line>: <predicates, order, limit> -> N rows; first row = ...
Unverified: <claim> - routes tried: <list>Creating a hosted configuration version only uploads it; a separate deployment to an environment makes it live. The newest version number in a profile says nothing about what clients receive.
Control plane, the deployment history of the environment:
ListDeployments(ApplicationId, EnvironmentId) returns deployments in descending
DeploymentNumber order, each with ConfigurationProfileId, ConfigurationVersion, State,
PercentageComplete, StartedAt and CompletedAt.GetDeployment(ApplicationId, EnvironmentId, DeploymentNumber) adds EventLog and
VersionLabel.State is one of BAKING, VALIDATING, DEPLOYING, COMPLETE, ROLLING_BACK,
ROLLED_BACK, REVERTED.Interpretation:
ConfigurationVersion of the most recent
deployment of that profile whose State is COMPLETE.DEPLOYING, BAKING or VALIDATING means a partial rollout: report the prior complete version
and the in-flight one, with PercentageComplete.ROLLED_BACK or REVERTED means the targeted version is not live; fall back to the previous
COMPLETE deployment.COMPLETE deployment in the environment has nothing live
there; say so instead of reporting the newest version’s content.Data plane, the configuration as clients receive it: StartConfigurationSession then
GetLatestConfiguration returns the deployed configuration for the application, environment and
profile. It can return empty data when the caller already holds the latest version, so use a fresh
session.
RoutingConfig. $LATEST and the repository HEAD may differ from
what the alias serves.GetFunction(FunctionName, Qualifier=<version or alias>) returns that version’s configuration
and Code.Location, a presigned URL (valid 10 minutes) for the deployment package, or
Code.ImageUri and ResolvedImageUri for container images. Read the package behind the invoked
qualifier, not the unqualified function.Configuration.CodeSha256 tells you whether two versions, or a version and a build, are the same
code.GetTemplate(StackName, TemplateStage=Original|Processed) returns the template the running stack
was created or updated with; Processed, the default, is the post-transform form. It works for
running stacks and, by stack ID, for deleted stacks up to 90 days. Use it instead of a repository
template when you need the deployed definition (inline function code, parameter wiring, resource
properties).
Description, VersionLabel, tags and similar fields on AppConfig deployments and hosted versions,
Lambda versions and aliases, and CloudFormation resources are user-authored metadata. They show
intent, not behaviour. Cite them only as “labelled as …”, and read the implementing code or the
deployment record for the actual meaning.