Skip to content

Conversation

@daveey
Copy link
Contributor

@daveey daveey commented Dec 16, 2025

Adds dynamic pricing to assembler protocols

  • Implements a two-phase cost adjustment system for protocols:
    • sigmoid: Number of discounted uses where cost scales linearly from 0 (free) to 1 (full price)
    • inflation: Compound rate for exponential cost adjustment after sigmoid uses
  • Adds get_cost_multiplier() method to calculate the appropriate price multiplier based on activation count
  • Tracks protocol usage with activation_count counter
  • Updates Python type definitions and configuration parsers to support the new parameters

@daveey daveey force-pushed the daveey-protocol-pricing branch from 84b9460 to fcb51af Compare December 16, 2025 22:00
@daveey daveey changed the title Add protocol sigmoid/inflation pricing Add protocol inflation and sigmoid cost scaling Dec 16, 2025
@daveey daveey marked this pull request as ready for review December 16, 2025 22:20
@daveey daveey force-pushed the claude/extract-attack-system-013Fd6xd9xPLzvsNNDpAspZ5 branch from e49ff8d to eba9b0b Compare December 18, 2025 05:10
@daveey daveey force-pushed the daveey-protocol-pricing branch 2 times, most recently from e593c79 to 901179e Compare December 18, 2025 06:33
@daveey daveey force-pushed the claude/extract-attack-system-013Fd6xd9xPLzvsNNDpAspZ5 branch from eba9b0b to 4d24ad8 Compare December 18, 2025 06:33
@daveey daveey force-pushed the claude/extract-attack-system-013Fd6xd9xPLzvsNNDpAspZ5 branch from ffc9b85 to 96b9c61 Compare December 19, 2025 01:47
@daveey daveey changed the base branch from claude/extract-attack-system-013Fd6xd9xPLzvsNNDpAspZ5 to graphite-base/4384 December 19, 2025 16:06
@daveey daveey force-pushed the daveey-protocol-pricing branch from f97ab21 to e110801 Compare December 19, 2025 16:06
@daveey daveey changed the base branch from graphite-base/4384 to daveey-demolish December 19, 2025 16:06
@daveey daveey force-pushed the daveey-protocol-pricing branch from e110801 to 0d94584 Compare December 19, 2025 16:16
bool onUse(Agent& actor, ActionArg arg) override;

std::vector<PartialObservationToken> obs_features() const override;
std::vector<PartialObservationToken> obs_features(unsigned int observer_agent_id = UINT_MAX) const override;
Copy link
Contributor

Choose a reason for hiding this comment

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

This line causes CI to fail because the method signature with the new 'observer_agent_id' parameter doesn't match the base class 'GridObject' method signature. The base class 'GridObject' needs to be updated to have the same method signature: 'virtual std::vector obs_features(unsigned int observer_agent_id = UINT_MAX) const;'

Spotted by Graphite Agent (based on CI logs)

Fix in Graphite


Is this helpful? React 👍 or 👎 to let us know.

virtual std::vector<PartialObservationToken> obs_features(
unsigned int /*observer_agent_id*/ = UINT_MAX) const override {
Copy link
Contributor

Choose a reason for hiding this comment

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

These lines cause CI to fail because the method signature with the new 'observer_agent_id' parameter doesn't match the base class 'GridObject' method signature. The base class needs to be updated to include this parameter.

Spotted by Graphite Agent (based on CI logs)

Fix in Graphite


Is this helpful? React 👍 or 👎 to let us know.

virtual std::vector<PartialObservationToken> obs_features(
unsigned int /*observer_agent_id*/ = UINT_MAX) const override {
Copy link
Contributor

Choose a reason for hiding this comment

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

These lines cause CI to fail because the method signature with the new 'observer_agent_id' parameter doesn't match the base class 'GridObject' method signature. The base class needs to be updated to include this parameter.

Spotted by Graphite Agent (based on CI logs)

Fix in Graphite


Is this helpful? React 👍 or 👎 to let us know.

@daveey daveey force-pushed the daveey-protocol-pricing branch from 0d94584 to d78fb2a Compare December 19, 2025 16:25
}

std::vector<PartialObservationToken> obs_features() const override {
std::vector<PartialObservationToken> obs_features(unsigned int /*observer_agent_id*/ = UINT_MAX) const override {
Copy link
Contributor

Choose a reason for hiding this comment

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

This line causes a compilation error because the method signature with the new parameter (observer_agent_id) doesn't match the base class method signature. Either update the base class method to include this parameter or remove the 'override' keyword.

Spotted by Graphite Agent (based on CI logs)

Fix in Graphite


Is this helpful? React 👍 or 👎 to let us know.

@daveey daveey force-pushed the daveey-protocol-pricing branch 2 times, most recently from 70f1053 to 7d7cdb8 Compare December 19, 2025 16:59
@daveey daveey force-pushed the daveey-protocol-pricing branch 2 times, most recently from 2e25324 to ffe799b Compare December 19, 2025 17:14
@daveey daveey force-pushed the daveey-demolish branch 2 times, most recently from b2a9974 to c8abee8 Compare December 21, 2025 20:28
@daveey daveey force-pushed the daveey-protocol-pricing branch from ffe799b to 607176c Compare December 21, 2025 20:28
@daveey daveey changed the title Add protocol inflation and sigmoid cost scaling Add observer_agent_id parameter to obs_features method Dec 21, 2025
@daveey daveey force-pushed the daveey-protocol-pricing branch from 607176c to 1150cd8 Compare December 21, 2025 20:33
@daveey daveey force-pushed the daveey-protocol-pricing branch from 1150cd8 to 7cb4a85 Compare December 23, 2025 04:18
@daveey daveey force-pushed the daveey-protocol-pricing branch from 7cb4a85 to cf0a388 Compare December 23, 2025 04:40
@openhands-ai
Copy link

openhands-ai bot commented Dec 23, 2025

Looks like there are a few issues preventing this PR from being merged!

  • GitHub Actions are failing:
    • Build and Deploy to WASM Mettascope

If you'd like me to help, just leave a comment, like

@OpenHands please fix the failing actions on PR #4384 at branch `daveey-protocol-pricing`

Feel free to include any additional details that might help me get this PR into a better state.

You can manage your notification settings

@daveey daveey closed this Dec 25, 2025
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.

2 participants