Question: This morning I logged into my pc and attempted to access remotely into a VM I have. `No connection` was the reported error. I log into my cloud console to find no projects.

Google Support is not available for me, as I have bronze package and I do not have 150$ available to upgrade it.

Are there any logs that could explain what happened? Did it just get wiped out? The instance is still there. But the machine itself is gone. I can't find any records of it. Please advise any help you can.

Answer: 
> 
> Is there some sort of spec that explicitly documents / requires this? 
> 
> 
> 

The spec used by promise libraries is the promise A+ spec. This particular requirement is [number 2.2.4](https://promisesaplus.com/#point-34). Pretty much any promise library you use will obey this, though if you need to check this, there are [tests which can verify compliance with the spec](https://github.com/promises-aplus/promises-tests)

More importantly, now that promises are a part of the language, native promises are governed by the ECMAScript specifications. Promises were first introduced in the 2015 edition, in [section 25.4](https://www.ecma-international.org/ecma-262/6.0/#sec-promise-objects). The latest completed edition as of the time of this answer is the [2018 edition](https://www.ecma-international.org/ecma-262/9.0/). The specific behavior you asked about is due to the section governing the `.then` method ([found here](https://www.ecma-international.org/ecma-262/9.0/#sec-performpromisethen)), and the section on triggerPromiseReaction ([found here](https://www.ecma-international.org/ecma-262/9.0/#sec-triggerpromisereactions)). Each of those in turn references the enqueueJob operation ([found here](https://www.ecma-international.org/ecma-262/9.0/#sec-enqueuejob))
As with any built-in ECMAScript feature, the behavior of native promises is defined in the [ECMAScript Spec](https://www.ecma-international.org/ecma-262/9.0/).

The relevant sections in the 9th edition spec are [section 25.6.5.4.1](https://www.ecma-international.org/ecma-262/6.0/#sec-enqueuejob), which defines the behavior of the `.then` method, and [section 8.4.1](https://www.ecma-international.org/ecma-262/9.0/index.html#sec-enqueuejob), which describes the EnqueueJob operation (which is used when `.then` is called on an already-resolved promise).