posted an update

1) Got the NovaMuse demo running locally on Windows

  • We clarified that commands like py -m venv .venv must be run in PowerShell / Command Prompt, not inside the Python REPL (>>>).
  • We resolved Python/pip compatibility issues:
    • Your machine was on Python 3.7.2 and an older pip, which caused package/version install failures.
    • You upgraded to a newer Python so dependencies could install correctly.
  • We confirmed the local demo URLs (http://127.0.0.1:8000/staff, /kiosk) work only on your computer unless you deploy/host them.

2) Deployed the demo to AWS App Runner

  • We containerized the app with Docker, pushed the image to ECR, and created an App Runner service.
  • We fixed a deployment failure caused by a wrong port:
    • App Runner health checks were running on port 8080, but the app listened on 8000.
    • After setting App Runner to use port 8000, deployment succeeded.
  • We produced a public URL for the app and validated /staff and /kiosk were reachable.

3) Fixed demo functionality bugs in the app

  • We addressed issues you reported in the staff dashboard:
    • The Reset button behavior was updated so it can work without a password (previously it required a token/password flow).
    • The zone +/- controls were fixed so the "+5 / -5" buttons actually update the zone values.
  • We also created and delivered an updated demo zip containing the fixes.

4) Attempted to integrate Amazon Nova 2 Lite via Amazon Bedrock

  • We updated your deployment configuration to support Bedrock by setting runtime environment variables in App Runner:
    • NOVAMUSE_AI_MODE=bedrock
    • AWS_REGION=us-east-1
    • BEDROCK_MODEL_ID=...
  • We created/attached an App Runner instance role and ensured it had Bedrock permissions (using broad access for fast testing).

5) Diagnosed why the app stayed in local/mock mode

  • We verified the API response showed mode: local, meaning the app was falling back to deterministic mock behavior.
  • We modified the code to print Bedrock errors to logs (so failures were visible), then rebuilt and redeployed.
  • App Runner logs revealed the real issue:
    • ValidationException: Operation not allowed
  • Conclusion at that stage: Bedrock Runtime inference was blocked at the account/service level (not a code bug).

6) Verified Bedrock “Mantle” worked, but Bedrock Runtime (Nova) was blocked

  • Using Bedrock Quickstart, you successfully ran the OpenAI-compatible (Mantle) example and got OK.
  • However, Nova 2 Lite requires Bedrock Runtime (Converse / InvokeModel), not Mantle Responses.
  • Your local boto3 + CLI tests against bedrock-runtime converse continued to fail until AWS Support unblocked your account.

7) After AWS Support unblocked the account, we resolved the remaining integration blockers

Bearer token expiration

  • You got:
    • AccessDeniedException: Bearer Token has expired
  • Root cause: your shell still had AWS_BEARER_TOKEN_BEDROCK set from earlier testing.
  • Fix:
    • Removed the env var and returned to normal AWS credential usage.

On-demand throughput not supported for the base model ID

  • You got:
    • Invocation of model ID amazon.nova-2-lite-v1:0 with on-demand throughput isn’t supported. Retry ... with an inference profile
  • Root cause: your account requires calling Nova 2 Lite through an inference profile, not the base on-demand model ID.
  • Fix:
    • Switched to the inference profile ID:
    • us.amazon.nova-2-lite-v1:0

PowerShell JSON quoting and AWS CLI parsing issues

  • Multiple CLI attempts failed because PowerShell stripped JSON quotes when passed inline.
  • Fix:
    • Wrote a JSON request to a file (request.json) using ASCII encoding to avoid BOM/encoding issues.
    • Used:
    • --cli-input-json file://request.json
  • Result:
    • The Bedrock Runtime CLI test printed OK, confirming Nova 2 Lite inference works with:
    • modelId = us.amazon.nova-2-lite-v1:0

8) Final deployment configuration for Nova 2 Lite in App Runner

  • Since Nova 2 Lite works only via an inference profile in your account, App Runner must use:
    • BEDROCK_MODEL_ID=us.amazon.nova-2-lite-v1:0
  • Keep:
    • NOVAMUSE_AI_MODE=bedrock
    • AWS_REGION=us-east-1
  • Then redeploy App Runner and verify the app response switches from:
    • mode: local → to mode: bedrock

Bugs and issues we worked out

Local development issues

  • Running shell commands inside Python REPL caused SyntaxError.
  • Outdated Python/pip caused dependency resolution failures (FastAPI version mismatch).

AWS deployment issues

  • App Runner health check failures caused by port mismatch (8080 vs 8000).
  • Confusion around ECR region/account variables and correct command usage in PowerShell.
  • Incorrect environment variable formatting in App Runner (map key/value format errors).

Demo app issues

  • Reset flow required a password/token when you wanted a clean slate reset without a password.
  • Zone "+5 / -5" buttons did not update values.

Bedrock/Nova integration issues

  • CloudShell environment creation blocked due to account verification (not required for integration, but slowed debugging).
  • Bedrock Runtime initially blocked with Operation not allowed until AWS Support unblocked the account.
  • Expired bearer token (AWS_BEARER_TOKEN_BEDROCK) caused Bearer Token has expired.
  • Base model ID (amazon.nova-2-lite-v1:0) failed due to on-demand throughput not supported; fixed by using inference profile (us.amazon.nova-2-lite-v1:0).
  • PowerShell JSON quoting caused invalid JSON parsing; fixed by using a JSON file with safe encoding.

Log in or sign up for Devpost to join the conversation.