Skip to content

NotiOps v1.0.15

Choose a tag to compare

@xiuleiyy xiuleiyy released this 26 Aug 14:22
· 4 commits to main since this release

NotiOps v1.0.15

This release is mostly one bug. On the ./setup.sh path a deployment could
finish reporting success while Web Chat answered every question by echoing it
back — Got it — you said: "…" (Echo — AGENT_RUNTIME_ARN not set). The agent had
never actually deployed, and nothing in the output said so. If you are on
setup.sh, take this release.
Whether you are affected depends on the day
you ran the installer, which is exactly why it is worth fixing properly rather
than documenting. Four one-click-path and Admin defects are fixed too, all of
the same silent kind: the feature was simply empty or missing, with no error
anywhere.

⚠️ Sample/reference code, not a production-ready product. Review it with your
own security, legal, and compliance teams before deploying into an AWS account.

Fixes

  • setup.sh could finish green while Web Chat only echoed. Two independent
    causes with the same end state, and the same reason it was invisible: the agent
    deploys before the web tier, a failure there printed one line, and the
    rest of the install carried on and succeeded. With no agent runtime ARN the BFF
    falls back to echoing.

    1. uv was never checked for. The AgentCore CLI shells out to uv to
      package the agent's Python dependencies — without it that step cannot
      succeed. uv is now a preflight prerequisite in both setup.sh and
      scripts/deploy_agent.sh, with install instructions, and it is documented as
      a prerequisite in the README.
    2. The AgentCore CLI version was not pinned. npm install -g @aws/agentcore
      installed that day's latest. A newer CLI's deploy step rewrites the
      repository's own CDK harness pin (@aws/agentcore-cdk) to a version whose
      API no longer matches the checked-in CDK stack, so the TypeScript build fails
      in about ten seconds, no CloudFormation stack is created, and there is no
      runtime ARN. It also does not heal on a retry, because the rewritten
      package.json persists — and downgrading the CLI alone is not enough for the
      same reason. The version is now pinned to a validated release, and both drift
      states (wrong CLI version, rewritten harness pin) stop the deployment and
      print exactly what to run, instead of degrading to echo. agentcore deploy
      failures now also print the CLI's own step log, where the real compiler error
      lives.

    Already have an echoing deployment? One command repairs it — it diagnoses
    read-only first, shows you the plan, and only then changes anything:

    bash scripts/fix_web_chat_echo.sh --region <your-region>

    It restores the harness pin, installs the validated CLI, redeploys the agent,
    injects the runtime ARN into the BFF, and verifies the result. Live settings
    (multi-account mode, allowed origins) are read back from your deployment first,
    so the repair cannot quietly downgrade them. Add --diagnose to look without
    touching anything.

  • One-click: Admin → Models showed an empty table. The setup.sh path seeds
    the model catalogue after deploying; the one-click path never did, so the Admin
    model page listed nothing — not even the default model — while chat itself
    worked, because the frontend carries a built-in fallback list. The stack now
    seeds the catalogue, with a conditional write: anything you have already changed
    in Admin is never overwritten, and updating an existing stack backfills the seed.

  • One-click: updating an existing multi-account stack applied no fixes to the
    multi-account setup.
    Every property of that custom resource was static, so
    CloudFormation saw no change and never invoked the handler — meaning handler
    fixes shipped in a new template reached new stacks only.

  • The factory default model could not be saved in Admin → Models. Saving
    probes the default model with a real request, and the probe asked for only 8
    output tokens — below Grok 4.6's minimum. The resulting validation error was
    classified as "this model is broken" and the save was rejected. The probe now
    asks for 64, and "the request asked for too few output tokens" is no longer
    blamed on the model.

  • Dashboard AI insights were silently empty in two cost views and one support
    view. Those three requests passed temperature: 0, which Claude Sonnet 5 no
    longer accepts, so every call failed — and the error was swallowed into a
    generic "no insight" state. The parameter is gone and the request shape is now
    covered by tests.

Features

  • GLM 5 (zai.glm-5) is selectable in Web Chat, alongside Claude Sonnet 5 /
    Opus 5 / Haiku 4.5, Amazon Nova Pro, DeepSeek V3.2, the GPT-5.6 family, and
    Grok 4.6. Enable it in Bedrock → Model access if you want it.

    Note it has no cross-Region inference profile, so it only exists in the
    Regions it has shipped to — measured available in us-east-1, us-west-2 and
    ap-northeast-1, and absent in ap-southeast-1, eu-west-1 and
    eu-central-1. DeepSeek V3.2 has the same property. That is why the default
    model stays Grok 4.6
    (global.xai.grok-4.6): a default has to work in
    whichever Region you deploy into, and a Region-limited default fails on the
    first message with nothing but an AccessDeniedException to go on.

Upgrading

setup.sh:

# uv is now a prerequisite — install it first if you do not have it
curl -LsSf https://astral.sh/uv/install.sh | sh   # or: brew install uv / pipx install uv

git pull            # or re-clone at tag v1.0.15
./setup.sh          # re-run; existing resources are updated in place

If your current deployment only echoes, run scripts/fix_web_chat_echo.sh (see
above) rather than re-running the whole installer — it is faster and it verifies
the outcome.

One-click (CloudFormation): download notiops-webchat.template.json from the
assets below and update your stack with it — Replace existing template, then
Use existing value for every parameter. Upgrading does not resend the
invitation email, change the admin credentials, revert Admin settings, or clear
chat history.

Your data is not touched: the conversation and configuration tables are Retain,
and re-seeding is idempotent.

Do not mix assets across releases — the template and the three .zip files are
cryptographically bound (each checksum is baked into the template and the release
tag is part of every object key), and the stack verifies every checksum before
use.

Asset checksums (sha256)

dca5b802fd5deb17496fa750593f45176820c120bedeeec3b91f7d2adda2d073  bff.zip
542651bc7efa71614b8999436bd5b2b16660f56cad4b28e86983b096c88a0bc4  chat-dist.zip
f8f6ba0be5b9ff97e3bac20862e1c4a0263c0d5bf47d529c30ae0b4b3eb9205d  agent-code.zip

Download notiops-webchat.template.json only. The three .zip assets are
pulled into a bucket in your account by the stack itself; you never need to
download them by hand. The template is above CloudFormation's 51,200-byte
--template-body limit — from the CLI, upload it to S3 first and pass
--template-url.

See README for full setup, one-click deployment
for the console walkthrough, and the documentation for architecture
and operations.