Skip to content

Add structured reward configuration reads with Bukkit compatibility - #78

Merged
BenCodez merged 4 commits into
mainfrom
codex/structured-reward-config
Sep 9, 2026
Merged

Add structured reward configuration reads with Bukkit compatibility#78
BenCodez merged 4 commits into
mainfrom
codex/structured-reward-config

Conversation

@BenCodez

@BenCodez BenCodez commented Sep 8, 2026

Copy link
Copy Markdown
Owner

Summary

First of the three requested platform-preparation PRs. Add the reward-facing configuration boundary without changing existing interfaces or parsers.

  • Add core.config.StructuredConfigView with explicit value kinds, literal-key access and detached plain-data exports.
  • Add structured Bukkit/Configurate adapters that reuse the existing typed getters.
  • Add a neutral case-insensitive view that preserves the legacy wrapper's first-match key order, including casing collisions.
  • Add bounded, immutable copying of ordinary configuration trees, rejecting native objects, cycles and ambiguous keys rather than silently losing data.
  • Add 13 regression tests for reward shapes, defaults, casing, literal keys, annotation binding and copy safety.

Compatibility

All eight files are additions. No existing Java implementation, ConfigView method, annotation, POM, dependency, workflow, persistence format or database operation is changed. One project, core/Bukkit packages, and the existing shared classifier are retained. Core classes are covered by the classifier's core/** allow-list and packaged headless-linkage test.

A raw Bukkit map remains distinguishable from a native configuration section. Snapshots export enumerated keys; they do not silently materialize otherwise unenumerated default keys. Existing Bukkit getter/default behavior and the legacy APIs remain untouched.

Verified build

Existing Java CI with Maven — run 198 passed on Java 21. Inspected job 101918502031 and its actual Maven log:

  • mvn -B -f SimpleAPI/pom.xml packageBUILD SUCCESS.
  • 390 unit tests, zero failures/errors/skips, including all 13 new regression tests.
  • A separate package-phase SharedArtifactTest also passed: 59 shared classes linked without server APIs, with the native configuration smoke test passing.
  • Existing Bukkit/core configuration parity: 174 comparisons passed.
  • Full, shared, and shared-source JARs were generated; normal shading completed.
  • Tested PR merge ref 64438107b7fc7409700eb45b00ad881e15600c84 for head 380720a0cb1bbde25713d6bca83f578b58f41ed7 and base 2764b7f6ad11208d895a14da73c5d00943dafe54.

These are GitHub Actions results, not a local full Maven run. The editing container has Java 21 but no Maven/dependency network access. No current downstream VotingPlugin build or live database/server test was run. Source inspection is same-context; no independent reviewer execution is claimed.

Other requested PRs and remaining work

Those initial AdvancedCore slices do not require this new API yet. AdvancedCore can adopt it during reward-definition extraction. This PR does not itself port reward execution, user storage, or SQLite.

No merge, release, deployment, repository setting change or new workflow is included.

AI disclosure: This implementation and pull-request description were prepared with assistance from ChatGPT.

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Sep 8, 2026

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review Completed 2026-09-09T00:56:40.542780Z 0340a67 New commits
🔒 Security Review Completed 2026-09-08T03:01:07.476719Z 380720a Draft marked ready
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 380720a0cb

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread SimpleAPI/src/main/java/com/bencodez/simpleapi/core/config/PlainConfigValues.java Outdated

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 1c044247d1

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread SimpleAPI/src/main/java/com/bencodez/simpleapi/core/config/PlainConfigValues.java Outdated

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 6a967ba9ca

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

@BenCodez
BenCodez merged commit 90bef2a into main Sep 9, 2026
4 checks passed
@BenCodez
BenCodez deleted the codex/structured-reward-config branch September 9, 2026 22:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant